我使用Drupal视图生成下面的查询。它获得了组x的所有用户。
SELECT users.name AS users_name, users.uid AS uid,'user' AS field_data_field_blogging_name_user_entity_type
FROM
{users} users
INNER JOIN {users_roles} users_roles ON users.uid = users_roles.uid
WHERE (( (users.status <> '0') AND (users_roles.rid = '5') ))
问题是我还想要一些在另一个表中的信息。在名为'field_data_field_blogging_name'的表中,我想获取由entity_id标识的'field_blogging_name_value'(即entity_id == uid)。
当我运行此查询时,我得到一个简单的“用户”占位符。我的问题是为什么视图使用这些占位符,是否可以编写上述查询以使其有效?如果是这样的话?
提前致谢
答案 0 :(得分:0)
您应该可以在高级设置
如果由于某种原因您希望在代码中执行此操作,则在HOOK_views_query_alter中您需要使用类似
的内容添加联接$ query-&gt; leftjoin('field_data_field_blogging_name','blogname','node.nid = blogname.entity_id'); $ query-&gt; fields('blogname',array('field_blogging_name_value',));