Laravel 8 自定義 pivot 屬性名稱

2021-07-19 11:34 更新

如前所述,來自中間表的屬性可以使用 pivot 屬性訪問。但是,你可以自由定制此屬性的名稱,以便更好的反應(yīng)其在應(yīng)用中的用途。

例如,如果你的應(yīng)用中包含可能訂閱的用戶,則用戶與博客之間可能存在多對(duì)多的關(guān)系。如果是這種情況,你可能希望將中間表訪問器命名為 subscription 取代 pivot。這可以在定義關(guān)系時(shí)使用 as 方法完成:

return $this->belongsToMany('App\Models\Podcast')
                ->as('subscription')
                ->withTimestamps(); 

一旦定義完成,你可以使用自定義名稱訪問中間表數(shù)據(jù):

$users = User::with('podcasts')->get();

foreach ($users->flatMap->podcasts as $podcast) {
    echo $podcast->subscription->created_at;
} 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)