首頁 >後端開發 >php教程 >使用 Laravel 的 `with()` 方法進行熱切載入時,如何選擇性地選擇列?

使用 Laravel 的 `with()` 方法進行熱切載入時,如何選擇性地選擇列?

Patricia Arquette
Patricia Arquette原創
2024-12-30 07:10:09322瀏覽

How Can I Selectively Choose Columns When Eager Loading with Laravel's `with()` Method?

在Laravel Eloquent 中使用「With()」選擇性列選擇

在Laravel Eloquent 中,「with()」函數提供了一個有效的方法來預先載入相關模型來自指定的表。然而,不限於載入所有列。若要使用「with()」從連接表中選擇特定列,請依照下列步驟操作:

  1. 傳遞匿名閉包作為「with()」陣列內的第二個參數。
  2. 在閉包內,使用「$query」參數指定要使用「select()」方法從連接表中選擇的欄位。

對於例如,要從關聯的用戶模型中僅獲取帖子以及“id”和“用戶名”:

Post::query()
    ->with(['user' => function ($query) {
        $query->select('id', 'username');
    }])
    ->get();

注意: 確保主鍵(此中的“id”) case) 是“$query->select()”語句中的第一個參數,用於正確檢索結果。

以上是使用 Laravel 的 `with()` 方法進行熱切載入時,如何選擇性地選擇列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn