Laravel 8 關(guān)聯(lián)方法 Vs 動(dòng)態(tài)屬性

2021-07-15 17:30 更新

如果想訪問 Eloquent 關(guān)聯(lián)的所有記錄,而不附帶查詢條件,可以像屬性一樣訪問關(guān)聯(lián),以 UserPost 模型為例,可以這樣訪問用戶的所有文章

$user = App\Models\User::find(1);

foreach ($user->posts as $post) {
    //
} 

動(dòng)態(tài)屬性是 「懶加載」 的,只有實(shí)際訪問到才會(huì)加載關(guān)聯(lián)數(shù)據(jù)。因此,通常用 預(yù)加載 來準(zhǔn)備模型需要用到的關(guān)聯(lián)數(shù)據(jù)。預(yù)加載能大量減少因加載模型關(guān)聯(lián)執(zhí)行的 SQL 語句。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)