我有两张桌子"类别"和"项目"
categories ->
id | title
1 | cat-1
2 | cat-2
items ->
id | title | category_id | score
1 | item-1 | 1 | 4
2 | item-2 | 1 | 5
3 | item-3 | 1 | 3
4 | item-4 | 2 | 4
5 | item-5 | 2 | 5
6 | item-6 | 2 | 6
我希望通过应用限制(2)获得结果,并在"项目"上按分数排序表格使用cakephp 3 输出像 -
{
"cat-1": {
"0": {
"id": 2,
"title": "item-2",
"score": "5"
},
"1": {
"id": 1,
"title": "item-1",
"score": "4"
},
"cat-2": {
"2": {
"id": 6,
"title": "item-6",
"score": "6"
},
"3": {
"id": 5,
"title": "item-5",
"score": "5"
}
}
答案 0 :(得分:0)
使用contain
:
$this->Categories->find()
->contain([
'Item' => function($q) {
return $q->find()
->order(['score' => 'asc'])
->limit(2);
}
]);
未经测试 - 在iPhone上发表评论。 ;)