Laravel의 OrderBy Relationship Count
Laravel에서는 관련 모델의 수에 따라 쿼리 결과를 정렬해야 하는 상황이 발생할 수 있습니다. . 그러한 시나리오 중 하나는 각 해커톤과 관련된 참가자 수를 기반으로 가장 인기 있는 해커톤을 검색하는 것입니다.
이를 달성하려면 orderBy()와 함께 withCount() 메서드를 활용할 수 있습니다. 다음은 그 방법을 보여줍니다.
$hackathons = Hackathon::withCount('participants') ->orderBy('participants_count', 'desc') ->paginate(10);
이 예에서는 해커톤 컬렉션을 획득하고 withCount('participants')를 사용하여 참여 사용자 수를 열심히 로드하는 것으로 시작합니다. 그런 다음 orderBy('participants_count', 'desc')를 사용하여 참가자 수를 기준으로 내림차순으로 결과를 정렬합니다. 마지막으로 결과를 표시하기 위해 10개의 그룹으로 페이지를 매깁니다.
이 접근 방식은 가장 인기 있는 해커톤을 효율적으로 검색하고 원하는 결과 순서를 제공합니다. 각 해커톤의 참가자 수를 결정하기 위해 복잡한 수동 계산이나 추가 쿼리가 필요하지 않습니다.
위 내용은 관련 모델 수에 따라 Laravel 쿼리 결과를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!