在Drupal视图中“喜欢”模式搜索

时间:2012-04-23 15:02:01

标签: php drupal view sql-like

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

默认搜索查询位于:

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')

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:3)

您可以使用View Query更改。在查询中,您将获得查询的对象。在此对象中,您可以注入您想要的内容 - Views Query Alter Example

答案 1 :(得分: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