【问题标题】:how to alter a Query and join with another table in views 3.0 drupal 7.x?如何在视图 3.0 drupal 7.x 中更改查询并与另一个表连接?
【发布时间】:2012-01-09 10:39:41
【问题描述】:

我想更改视图并将其与 taxonomy_index 表连接,但似乎此代码不起作用

function MY_MODULE_views_query_alter(&$view, &$query) {
$view->query->add_relationship('my_join', new views_join('taxonomy_index', 'nid', 'node', 'nid','INNER'), 'taxonomy_index');
$view->query->add_where('country_price', "my_join.tid IN ", '2,3');
}

如何将此视图的查询与 taxonomy_index 表结合起来?

【问题讨论】:

    标签: drupal-7 drupal-views


    【解决方案1】:

    我遇到了类似的问题,并且能够使用 hook_query_alter 而不是 hook_views_query_alter。我只在 where 子句中使用 Equals 来完成此操作,但我假设 'IN' 会起作用。

    function MY_MODULE_query_alter(QueryAlterableInterface $query) {
      if ($query->hasAllTags('views', '[MY VIEW NAME]')) {
        $query->addJoin('INNER', 'taxonomy_index', 'ti', 'node.nid = ti.nid');
        $query->condition('ti.tid', '2,3', 'IN');
      }
    }
    

    【讨论】:

    • 这不起作用,因为“addJoin”未定义为“views_plugin_query_default”的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多