我是 CakePHP 新手,遇到以下问题:
我有表格“图像”、“关键字”和“关键字类别”。每个图像可以有许多关键字(多对多),每个关键字都有一个类别(多对一)。检索图像列表
$images = $this->Images->find()->contain(['Keywords', 'Keywords.KeywordCategories']);
返回这样的结果结构:
[
{
"id":1,
"keywords":[
{
"keyword":"Dog",
"keyword_category":{
"title":"Animal"
}
},
{
"keyword":"Cat",
"keyword_category":{
"title":"Animal"
}
},
{
"keyword":"Black",
"keyword_category":{
"title":"Color"
}
}
]
}
]
这很好,但我希望关键字按其关键字类别分组,结构如下:
[
{
"id":1,
"keyword_categories":[
{
"title":"Animal",
"keywords":[
{
"keyword":"Dog"
},
{
"keyword":"Cat"
}
]
},
{
"title":"Color",
"keywords":[
{
"keyword":"Black"
}
]
}
]
}
]
知道如何使用 CakePHP 查询来实现吗?