drupal view query alter:子选择/查询不使用括号

时间:2014-03-19 05:11:16

标签: drupal-7 drupal-views

我试图使用类似于以下内容的子选项更改视图查询:

$subquery1 = (db_select('users_roles', 'r')
   ->where('r.uid = users_node__users_roles.uid and r.rid=10'));
$subquery1->addExpression('COUNT(r.rid)', 'rid');
$query->add_where(1,'1', $subquery1, '<>');

其中$ query是主查询。 但是当我运行视图时,查询

  

... AND(1&lt;&gt; SELECT COUNT(r.rid)AS rid FROM users_roles r WHERE   (r.uid = users_node__users_roles.uid和r.rid = 10))...

如果我为子选择查询添加括号,它将正常工作。 即;

  

... AND(1&lt;&gt;(SELECT COUNT(r.rid)AS rid FROM users_roles r WHERE   (r.uid = users_node__users_roles.uid和r.rid = 10)))...

所以我的问题是; 如何将子查询放在括号内? 抱歉,如果我的问题很愚蠢?

提前致谢, PREM

1 个答案:

答案 0 :(得分:0)

我自己找到了溶胶;把NOT IN代替&lt;&gt;。 NOT IN将使值部分位于括号内