我想在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')
任何帮助都将不胜感激。
答案 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。