如何使用 Laravel 的「orderBy」關係來排序相關模型記錄?

Barbara Streisand
發布: 2024-11-20 22:24:13
原創
750 人瀏覽過

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

透過Laravel 的orderBy 關係依序擷取相關模型記錄

在Laravel 中,從相關模型存取資料時,可以使用orderBy方法的結果。例如,以下程式碼會擷取作者的所有註解並將其顯示在清單中:

foreach($post->user->comments as $comment)
{
    echo "<li>" . $comment->title . " (" . $comment->post->id . ")</li>";
}
登入後複製

但是,該清單可能未按所需順序排序。若要根據貼文 ID 對結果進行排序,您可以使用查詢函數擴充關係:

public function comments()
{
    return $this->hasMany('Comment')->orderBy('column');
}
登入後複製

'column' 參數指定要排序的欄位。

為了更靈活,您可以允許使用者透過控制器方法指定orderBy 欄位:

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
    }
}
登入後複製

此方法提供基於使用者的相關模型記錄的動態排序輸入,允許更靈活地顯示結果。

以上是如何使用 Laravel 的「orderBy」關係來排序相關模型記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板