Wie kann ich verwandte Modelldatensätze mithilfe der „orderBy'-Beziehung von Laravel bestellen?

Barbara Streisand
Freigeben: 2024-11-20 22:24:13
Original
750 Leute haben es durchsucht

How Can I Order Related Model Records Using Laravel's `orderBy` Relationship?

Verknüpfte Modelldatensätze in der richtigen Reihenfolge mit Laravels orderBy Relationship abrufen

In Laravel ist es beim Zugriff auf Daten von verwandten Modellen möglich, diese zu sortieren Ergebnisse mithilfe der orderBy-Methode. Der folgende Code ruft beispielsweise alle Kommentare eines Autors ab und zeigt sie in einer Liste an:

foreach($post->user->comments as $comment)
{
    echo "<li>" . $comment->title . " (" . $comment->post->id . ")</li>";
}
Nach dem Login kopieren

Die Liste ist jedoch möglicherweise nicht in der gewünschten Reihenfolge angeordnet. Um die Ergebnisse basierend auf der Beitrags-ID zu ordnen, können Sie die Beziehung mit Abfragefunktionen erweitern:

public function comments()
{
    return $this->hasMany('Comment')->orderBy('column');
}
Nach dem Login kopieren

Der Parameter „column“ gibt die Spalte an, nach der sortiert werden soll.

Für mehr Flexibilität können Sie dem Benutzer ermöglichen, die Spalte „orderBy“ über eine Controller-Methode anzugeben:

public function comments()
{
    return $this->hasMany('Comment');
}

class Controller
{
    public function index()
    {
        $column = Input::get('orderBy', 'defaultColumn');
        $comments = User::find(1)->comments()->orderBy($column)->get();

        // use $comments in the template
    }
}
Nach dem Login kopieren

Diese Methode ermöglicht eine dynamische Sortierung der zugehörigen Modelldatensätze basierend auf Benutzereingaben und ermöglicht so eine größere Flexibilität bei der Anzeige der Ergebnisse .

Das obige ist der detaillierte Inhalt vonWie kann ich verwandte Modelldatensätze mithilfe der „orderBy'-Beziehung von Laravel bestellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage