我的查询选择器出了问题。我的查询看起来像
$products = $this->Categories->find()
->where(['active' => 1])
->contain(['Products' => function($q) {
return $q;
}
]);
它返回类别列表,以及每个类别的嵌套产品数组。在这种情况下,它从产品表中撤回所有字段。
但是只要我像这样更改contain
->contain(['Products' => function($q) {
return $q->select(['code', 'name']);
}
]);
然后products数组为空。有什么东西我错过了吗?
答案 0 :(得分:0)
您必须在所选字段列表中包含category_id
return $q->select(['code', 'name', 'category_id']);
否则,蛋糕不知道如何将产品与其类别联系起来。
通常你会看到一个警告,但也许你关闭了调试模式