Cakephp 3.0:多种匹配条件

时间:2014-12-04 08:01:54

标签: cakephp matching cakephp-3.0

我尝试对查询进行菊花链matching()调用,或找到实现相同结果的等效方法。具体来说,这就是我和我#39; d喜欢这样做:

$matchedItemVersion = $this->ItemVersions->find()
    ->where(['version' => $verion])
    ->matching('Items', function($q) use ($ipnCore) {
        return $q->where(['ipn_core' => $ipnCore]);
    })
    ->matching('Items.ItemTypes.ItemSuperGroups', function($q) use ($itemSuperGroupName) {
        return $q->where(['name' => $itemSuperGroupName]);
    })
    ->first()
    ->toArray();

这样我就可以通过关联模型上的两个条件来过滤我的ItemVersions结果。但是,现在,第二个matching()调用基本上覆盖了第一个matching()调用,因此第一个matching()调用对查询没有影响。

我们知道您无法链接contain()matching()https://github.com/cakephp/cakephp/issues/5109),但是有没有办法用{{1}}来实现,或者是获取方式同样的结果?

感谢帮助。

0 个答案:

没有答案