如何让PagerDefault查询与Drupal 7一起正常工作?

Cli*_*ive 6 php drupal drupal-7

我正在运行以下代码:

$query = db_select('taxonomy_index', 'ti')
  ->fields('ti', array('nid'))
  ->condition('ti.tid', $term->tid)
  ->condition('n.status', 1);

$query->join('node', 'n', 'n.nid = ti.nid');

$query->extend('PagerDefault')->limit(2);

$nids = $query->execute()->fetchCol();
Run Code Online (Sandbox Code Playgroud)

但是寻呼机不起作用:返回查询中的每个项目,就像完全忽略对PagerDefault的调用一样.我在输出中输出主题('pager'),这不是问题.

这不是我失败的唯一例子,在其他几个项目中,类似的查询每次都会带回全部结果.

我已经阅读了所有文档,它似乎有时工作,而不是其他时间.有人有任何想法吗?

干杯

Ber*_*dir 18

这是不相关的,当你打电话extend().

唯一重要的是你使用返回的新对象extend().这样做的原因是extend()创建了一个新对象,它覆盖了当前对象(Decorator模式).

因此,您需要$query = $query->extend('PagerDefault')像在答案中一样使用(与其他调用相结合).


小智 7

它不起作用,因为你必须这样做

$query = $query->extend('PagerDefault')->limit(2);
Run Code Online (Sandbox Code Playgroud)