我如何使用多个Eloquent With()?
PortalPlaylistElement模型
class PortalPlaylistElement extends Model
{
public $primaryKey = 'code';
public $incrementing = false;
public $timestamps = false;
public function AirtimePlaylists()
{
return $this->hasOne('App\AirtimePlaylist','id','playlist_id');
}
}
Run Code Online (Sandbox Code Playgroud)
AirtimePlaylistContent模型
class AirtimePlaylistContent extends Model
{
protected $table = 'cc_playlistcontents';
}
Run Code Online (Sandbox Code Playgroud)
AirtimePlaylistModel
class AirtimePlaylist extends Model
{
protected $table = 'cc_playlist';
public function PortalPlaylistElements()
{
return $this->belongsTo('App\PortalPlaylistElement','playlist_id');
}
public function AirtimePlaylistContents()
{
return $this->hasMany('App\AirtimePlaylistContent','playlist_id');
}
}
Run Code Online (Sandbox Code Playgroud)
我没有遇到任何问题:
AirtimePlaylist::with('AirtimePlaylistContents')->get());
Run Code Online (Sandbox Code Playgroud)
要么
PortalPlaylistElement::with('AirtimePlaylists')->get();
Run Code Online (Sandbox Code Playgroud)
但我想在属于PortalPlaylistElement的AirtimePlaylist中获取所有AirtimePlaylistContents.
本质上,(伪代码)
PortalPlaylistElement::with('AirtimePlaylists')::with('AirtimePlaylistContents')->get();
Run Code Online (Sandbox Code Playgroud)
huu*_*uuk 21
PortalPlaylistElement::with('AirtimePlaylists.AirtimePlaylistContents')->get();
Run Code Online (Sandbox Code Playgroud)
嵌套关系
with('relation1.relation2.relation3')->get(); // relation1 has relation2 relation2 has relation 3
Run Code Online (Sandbox Code Playgroud)
非嵌套关系
with('relation1','relation2','relation3')->get(); // you model has all relations
Run Code Online (Sandbox Code Playgroud)
如果有人需要的话我想添加这个
with(['relation1.relation2-1','relation1.relation2-2'])->get(); // relation1 has relation2-1 and relation1 also has relation2-2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20139 次 |
| 最近记录: |