W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果希望快速加載 morphTo
關(guān)系,以及該關(guān)系可能返回的各種實體上的嵌套關(guān)系,可以使用 loadMorph
方法。
這個方法接受 morphTo
關(guān)系的名稱作為它的第一個參數(shù),第二個參數(shù)接收模型數(shù)組、關(guān)系數(shù)組。為了幫助說明這個方法,可以看一下以下模型例子:
<?php
use Illuminate\Database\Eloquent\Model;
class ActivityFeed extends Model
{
/**
* 獲取 activity feed 記錄的父級
*/
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)系,我們可以檢索 ActivityFeed
模型實例,并立即加載所有 parentable
模型及其各自的嵌套關(guān)系:
$activities = ActivityFeed::with('parentable')
->get()
->loadMorph('parentable', [
Event::class => ['calendar'],
Photo::class => ['tags'],
Post::class => ['author'],
]);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: