Drupal视图,视图如何从此查询中获取数据? (sql,可能不是Drupal特有的)

时间:2013-06-13 12:27:24

标签: sql drupal-7 drupal-views

我使用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)。

当我运行此查询时,我得到一个简单的“用户”占位符。我的问题是为什么视图使用这些占位符,是否可以编写上述查询以使其有效?如果是这样的话?

提前致谢

1 个答案:

答案 0 :(得分:0)

  1. 您应该可以在高级设置

  2. 下的视图用户界面中添加关系
  3. 如果由于某种原因您希望在代码中执行此操作,则在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',));