CakePHP 3如何限制每个项目中包含的项目数量,而不是全局限制
我有与类别相关的文章。我想得到每个类别最多两篇文章。存在多对一连接。因此,我使用以下方法CakePHP 3如何限制每个项目中包含的项目数量,而不是全局限制,php,mysql,cakephp,Php,Mysql,Cakephp,我有与类别相关的文章。我想得到每个类别最多两篇文章。存在多对一连接。因此,我使用以下方法 $query = $categories->find()->contain([ 'Articles' => [ 'queryBuilder' => function ($q) { return $q->limit(2); } ] ]); 不幸的是,限制2个接缝是全局的。我从第一个类别中得到2篇文章,然后
$query = $categories->find()->contain([
'Articles' => [
'queryBuilder' => function ($q) {
return $q->limit(2);
}
]
]);
不幸的是,限制2个接缝是全局的。我从第一个类别中得到2篇文章,然后没有与其他类别相关的文章
如何设置每个项目的限制而不是全局限制。请尝试
我自己还没有用过这个,所以不确定它是否进入文章或作者表。我猜它会出现在AuthorsTable中
public function findLimtedAuthors(Query $query, $options) {
return $query->limit(2);
}
试试看
我自己还没有用过这个,所以不确定它是否进入文章或作者表。我猜它会出现在AuthorsTable中
public function findLimtedAuthors(Query $query, $options) {
return $query->limit(2);
}
它在3.1中不起作用。我编辑了一点我的问题-现在可以很清楚了,限制仍然是全局的(就像在我的例子中一样)。它在3.1中不起作用。我编辑了一点我的问题-现在它可以很清楚的限制仍然是全球性的(就像在我的例子中)。