1
我想按照他們的編號排序兩個情節。這是我的代碼:PHP Laravel按子女順序排列父母
$neededEpisodes = SharedMethods::getAround($numbers);
$nearEpisodes = TheEpisode::where("seriesID", $seriesID)->whereHas('TheNumbers', function($q) use($neededEpisodes) {
$q->whereIn('episodeNumber', $neededEpisodes);
});
echo $nearEpisodes->get()->toJson();
這將輸出以下結果:
"nearEpisodes": [{
"id": 16445,
"the_numbers": [{
"episodeID": 16445,
"episodeNumber": 208
}]
}, {
"id": 16487,
"the_numbers": [{
"episodeID": 16487,
"episodeNumber": 210
},{
"episodeID": 16487,
"episodeNumber": 211
}]
}]
的問題是,The_Numbers順序應該是對面,距離210,211開始,然後208
所以我的預期輸出應該是id:16487,然後是16445.
我應該如何構建雄辯查詢來實現這一目標?
我的新的輸出:
nearEpisodes": {
"1": {
"id": 16503,
"episodeTitle": "Episodul 183",
"the_numbers": [{
"episodeID": 16503,
"episodeNumber": 183
}]
},
"0": {
"id": 16190,
"episodeTitle": "Episodul 181",
"the_numbers": [{
"episodeID": 16190,
"episodeNumber": 181
}]
}
}
這將返回我的錯誤。 – Coder
調用未定義的方法Illuminate \ Database \ Query \ Builder :: sortBy() – Coder
您缺少'get()'。檢查更新的答案。 –