0
我试图用mymodule_views_pre_execute来改变一个视图的查询和使用了devel的找到它当前正在使用的SQL查询,这是下面:的Drupal 7改变查询
SELECT node.nid AS nid FROM node node LEFT JOIN field_data_field_date
field_data_field_date ON node.nid = field_data_field_date.entity_id AND
(field_data_field_date.entity_type = :views_join_condition_0 AND
field_data_field_date.deleted = :views_join_condition_1)
WHERE ((
(DATE_FORMAT(field_data_field_date.field_date_value, '%Y-%m-%d\T%H:%i') > :node_date_filter))AND
(((node.status = :db_condition_placeholder_2))))
LIMIT 10 OFFSET 0
我再再这样做,使用下列内容:
$query = db_select("node", "n");
$query->addField("n", "nid");
$query->leftJoin("{field_data_field_date}", "{field_data_field_date}",
"n.nid = field_data_field_date.entity_id AND field_data_field_date.entity_type = 'node'
AND field_data_field_date.deleted = '0'");
$query->where("(DATE_FORMAT(field_data_field_date.field_date_value, '%Y-%m-%d\T%H:%i') > NOW())");
$query->where("n.status = '1'");
我不得不更换:views_join_condition_0
与“node
”:views_join_condition_1
与“0
”和:node_date_filter
到NOW()
虽然我不是S如果这是正确的方法?如果我离开:views_join_condition_0
,:views_join_condition_1
和:node_date_filter
虽然不起作用?!