Heim >Datenbank >MySQL-Tutorial >Wie ordne ich Laravel-Abfrageergebnisse nach der Anzahl verwandter Modelle?
OrderBy Relationship Count in Laravel
In Laravel kann es vorkommen, dass Sie Abfrageergebnisse basierend auf der Anzahl verwandter Modelle ordnen müssen . Ein solches Szenario besteht darin, die beliebtesten Hackathons basierend auf der Anzahl der mit jedem Hackathon verbundenen Teilnehmer abzurufen.
Um dies zu erreichen, können Sie die Methode withCount() in Verbindung mit orderBy() nutzen. Das Folgende zeigt, wie:
$hackathons = Hackathon::withCount('participants') ->orderBy('participants_count', 'desc') ->paginate(10);
In diesem Beispiel beginnen wir damit, eine Sammlung von Hackathons abzurufen und die Anzahl der teilnehmenden Benutzer mithilfe von withCount('participants') eifrig zu laden. Anschließend verwenden wir orderBy('participants_count', 'desc'), um die Ergebnisse basierend auf der Teilnehmerzahl in absteigender Reihenfolge zu sortieren. Abschließend paginieren wir die Ergebnisse zur Anzeige in 10er-Gruppen.
Dieser Ansatz ruft effizient die beliebtesten Hackathons ab und sorgt für die gewünschte Reihenfolge der Ergebnisse. Dadurch entfallen komplexe manuelle Berechnungen oder zusätzliche Abfragen zur Ermittlung der Teilnehmerzahl für jeden Hackathon.
Das obige ist der detaillierte Inhalt vonWie ordne ich Laravel-Abfrageergebnisse nach der Anzahl verwandter Modelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!