【发布时间】:2019-04-13 13:48:04
【问题描述】:
我想即时将关联策略 (hasMany) 更改为“in”(默认)到“select”。因为这将纠正这种情况的结果:
“获取所有出版商,仅获取前五本书”:
$publishersTable = TableRegistry::getTableLocator()->get('Publishers');
$publishersTable->getAssociation('Books')->setStrategy('select');
$query = $publishersTable->find()
->contain(['Books'=> function(Query $q){
return $q->limit(5);
}]);
不幸的是,Cake 仍然使用“in”而不是“分隔查询”来运行查询,结果只有 5 个出版商(并不是所有出版商都有前 5 本书)。
是否可以即时更改策略? 提前致谢!
【问题讨论】:
标签: php cakephp cakephp-3.0 has-many