我正在运行以下代码:
$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();
但分页器不起作用:返回查询中的每个项目,就好像对 PagerDefault 的调用完全被忽略一样。我在输出中进一步输出 theme('pager') ,所以这不是问题。
这并不是我遇到的唯一的失败例子,在其他几个项目中,类似的查询每次也会返回完整的结果数。
我已阅读所有文档,它似乎有时有效,有时无效。有人有什么想法吗?
Cheers
不相关when你打电话extend()
.
唯一重要的是您使用返回的新对象extend()
。这样做的原因是extend()
创建一个包装当前对象的新对象(装饰器模式)。
所以,你需要使用$query = $query->extend('PagerDefault')
,就像您在回答中所做的那样(与其他呼叫结合)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)