cakephp查询选择器未返回指定字段

cakephp查询选择器未返回指定字段,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我的查询选择器有问题。我的问题看起来像 $products = $this->Categories->find() ->where(['active' => 1]) ->contain(['Products' => function($q) { return $q;

我的查询选择器有问题。我的问题看起来像

   $products = $this->Categories->find()
                        ->where(['active' => 1])
                        ->contain(['Products' => function($q) {
                                return $q;
                            }
                        ]);
它返回类别列表,以及每个类别的嵌套产品数组。在这种情况下,它将从products表中返回所有字段

但是只要我像这样更改
包含的

->contain(['Products' => function($q) {
                                    return $q->select(['code', 'name']);
                                }
                            ]);

那么products数组为空。是否有我遗漏的内容?

您必须在所选字段列表中包含
类别id

return $q->select(['code', 'name', 'category_id']);
否则,cake不知道如何将产品与其类别联系起来


通常情况下,您应该会看到一个关于此的警告,但可能您已关闭调试模式

您必须在所选字段列表中包含
类别id

return $q->select(['code', 'name', 'category_id']);
否则,cake不知道如何将产品与其类别联系起来


通常情况下,您应该会看到一个警告,但可能您已经关闭了调试模式

什么类型的关联是
产品
?另外,请始终提及您的确切CakePHP版本(
3.x.x
,请参阅
vendor/CakePHP/CakePHP/version.txt
)-谢谢!版本为
3.2.12
Products->belongsTo('Categories')什么类型的关联是
产品
?另外,请始终提及您的确切CakePHP版本(
3.x.x
,请参阅
vendor/CakePHP/CakePHP/version.txt
)-谢谢!版本为
3.2.12
Products->belongsTo('Categories')