W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果你希望加載一個 morphTo
關(guān)系,以及該關(guān)系可能返回的各種實體的嵌套關(guān)系,可以將 with
方法與 morphTo
關(guān)系的 morphWith
方法結(jié)合使用。 為了幫助說明這種方法,讓我們參考以下模型:
<?php
use Illuminate\Database\Eloquent\Model;
class ActivityFeed extends Model
{
/**
* 獲取活動提要記錄的父級
*/
public function parentable()
{
return $this->morphTo();
}
}
在這個例子中,我們假設(shè) Event
,Photo
和 Post
模型可以創(chuàng)建 ActivityFeed
模型。 另外,我們假設(shè) Event
模型屬于 Calendar
模型,Photo
模型與 Tag
模型相關(guān)聯(lián),Post
模型屬于 Author
模型。
使用這些模型定義和關(guān)聯(lián),我們可以查詢 ActivityFeed
模型實例并預(yù)加載所有 parentable
模型及其各自的嵌套關(guān)系:
use Illuminate\Database\Eloquent\Relations\MorphTo;
$activities = ActivityFeed::query()
->with(['parentable' => function (MorphTo $morphTo) {
$morphTo->morphWith([
Event::class => ['calendar'],
Photo::class => ['tags'],
Post::class => ['author'],
]);
}])->get();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: