집 >데이터 베이스 >MySQL 튜토리얼 >관계 수에 따라 Laravel 모델을 주문하는 방법은 무엇입니까?
Laravel OrderBy Relationship Count
총 해커톤 참가자 수를 기준으로 가장 인기 있는 해커톤에 대한 정보를 검색하려는 경우 적절한 접근 방식은 다음과 같습니다. 관련 해커톤 참가자 수에 따른 모델을 선착순으로 지정합니다. 그러나 Hackathon::orderBy(HackathonParticipant::find($this->id)->count(), 'DESC')->take(5)->get과 같은 문을 사용하는 것이 중요합니다. ()가 원하는 결과를 얻지 못할 수도 있습니다.
대신에 orderBy() 메서드와 함께 withCount() 메서드를 사용하는 것이 더 효과적인 해결책입니다. 아래 설명된 해커톤 모델:
Hackathon::withCount('participants')->orderBy('participants_count', 'desc')->paginate(10);
이 쿼리는 참가자 수가 가장 많은 해커톤을 검색하여 내림차순으로 정렬하고 결과를 페이지 매김하여 페이지당 10개의 해커톤을 표시합니다. withCount() 메소드를 활용하면 추가적인 데이터베이스 쿼리 없이도 관련 해커톤 참가자를 효율적으로 계산할 수 있습니다.
위 내용은 관계 수에 따라 Laravel 모델을 주문하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!