0
는 여기에 내가 캠프의 결과를 얻기 위해 사용하고있는 쿼리입니다 :Laravel : orderBy를 올바르게 사용하기 위해 관련 테이블에 어떻게 가입 할 수 있습니까?
$camp = Camp::where('camps.id', $camp_id)
->with(['athletes' => function ($q) use ($camp_id) {
$q->with(['kickoffs' => function ($q) use ($camp_id) {
$q->where('camp_id', $camp_id);
$q->orderBy('id', 'desc');
}]);
$q->with(['kickoff_results' => function ($q) use ($camp_id) {
$q->where('camp_id', $camp_id);
$q->orderBy('score', 'desc');
}]);
그러나 결과는 제대로 정렬되지 않아요. 나는 이제 내 쿼리는 다음과 같습니다 join the tables해야한다는 것을 배웠습니다 :
$camp = Camp::where('camps.id', $camp_id)
->with(['athletes' => function ($q) use ($camp_id) {
$q->with(['kickoffs' => function ($q) use ($camp_id) {
$q->where('camp_id', $camp_id);
$q->orderBy('id', 'desc');
}])->join('kickoff_results', 'athletes.id', '=', 'kickoff_results.athlete_id')
->orderBy('kickoff_results.score', 'desc');
그러나 이것은 나에게 같은 일을 반환 할 것으로 보인다. 내 첫 쿼리로 내 결과가 더 정확하지만 주문이 잘못되었다고 느낍니다.
모든 의견을 매우 높이 평가합니다. 다음과 같이