使用Eloquent 的「With()」函數從相關表中擷取特定欄位
使用Eloquent 的「with()」函數執行聯接時,可以從相關表中檢索特定列。這在僅需要連接表中的一部分列的情況下非常有用。
問題:
考慮具有兩個表(User 和 Post)的場景,其中一個用戶可以擁有多個帖子,每個帖子屬於一個用戶。
初始方法:
使用預設的「with('user')」語法,執行下列查詢:
select * from `posts` select * from `users` where `users`.`id` in (<1>, <2>)
但是,如果“”中只需要特定列users”表,例如“id”和“username”,上面的方法是不夠的。
解I:使用陣列作為「with()」中的第二個參數:
將陣列作為「with()」中的第二個參數傳遞允許您指定從相關表中檢索哪些欄位。 II:使用閉包作為「with()」中的第二個參數:
To從第二個表中檢索特定列,使用閉包函數作為「with()」數組中的第二個參數。注意:主要相關表的鍵(本例為「id」)必須是 $query->select() 中的第一個參數才能檢索所需的結果。
以上是如何使用 Eloquent 的 `with()` 函數從相關表中選擇特定欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!