>  기사  >  데이터 베이스  >  관련 모델 수에 따라 Laravel 쿼리 결과를 정렬하는 방법은 무엇입니까?

관련 모델 수에 따라 Laravel 쿼리 결과를 정렬하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-15 08:00:03205검색

How to Order Laravel Query Results by Related Model Count?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.