2012-04-23 117 views
2

我想用模式在Drupal View查询查询。
使用上下文过滤器可以吗?
为了让它更清楚,可以说搜索值是“测试”。“like”模式在Drupal视图中搜索

默认搜索查询是其中:

WHERE (((field_data_field_design_code.field_design_code_value = 'test')) 
AND(((node.status = '1') 

我想它想:

WHERE (((field_data_field_design_code.field_design_code_value like '%"tes"%')) 
AND(((node.status = '1') 

任何帮助,将不胜感激。

+0

您使用的是Drupal版本? – webbiedave 2012-04-23 15:11:33

+0

嗨,对不起我的错误。 这是Drupal 7 – 2012-04-24 07:37:08

回答

1

您可以如下使用db_query:

db_query('SELECT node.nid, node.title FROM {node} 
INNER JOIN field_data_field_design_code ON node.nid = field_data_field_design_code.nid 
WHERE field_data_field_design_code.field_design_code_value LIKE \'%%"%s"%\' AND node.status = %d', $keyword, 1); 

您需要使用%%的db_query使用LIKE,http://drupal.org/node/56400#comment-161218

3

您可以使用View Query alter。在查询改变你会得到一个查询的对象。在这个对象,你可以注入什么你想要的 - Views Query Alter Example