>데이터 베이스 >MySQL 튜토리얼 >관계 수에 따라 Laravel 모델을 주문하는 방법은 무엇입니까?

관계 수에 따라 Laravel 모델을 주문하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-09 19:06:02942검색

How to Order Laravel Models by Relationship Count?

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

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