订单功能的文档还不够好。这就是我所拥有的:
表 A <---- MiddleTableAB ----> 表 B <--- MiddleTableBC ---> 表 C
所以我有一个表 B 与表 A 具有多对多关系,并且与表 C 也具有多对多关系。
我需要的是表 B 的项目列表。它们需要按表 A 的 ID 分组,然后按表 C 的 ID 分组。
这就是我在 Table B 函数中的内容:
$query=$this->find();
$query->contain([
'MiddleTableAB.TableA'=> function ($q) {
return $q->select(['id','name']);
},
'MiddleTableBC.TableC'=> [
'strategy' => 'select',
'queryBuilder' => function ($q) {
return $q->select(['id','name']);
},
]
]);
//$query->select(['id','description']);
$query->group(['TableA.id','TableC.id']);
$data = $query->all();
但是蛋糕说没有TableA.id。如果我删除群组通话,我将获得构建所需结果所需的所有数据。我怎样才能使这项工作?