不幸的是,我还没有太多使用 Eloquent 的经验。我尝试从具有两个数据透视表的三个表中创建一个查询。
我的桌子:
我的模型:
播放器
class Player extends Model
{
protected $table = 'players';
protected $fillable = [
'name'
];
public function layout(){
return $this->belongsToMany('App\Layout', 'layout_player', 'player_id', 'layout_id');
}
public function information(){
return $this->hasMany('App\Information', 'player_id');
}
}
布局
class Layout extends Model
{
protected $table = 'layouts';
protected $fillable = [
'name'
];
public function player(){
return $this->belongsToMany('App\Player', 'layout_player', 'layout_id', 'player_id');
}
public function item(){
return $this->belongsToMany('App\Item', 'item_layout', 'layout_id', 'item_id');
}
}
物品
class Item extends Model
{
protected $table = 'items';
protected $fillable = [
'name'
];
public function layout(){
//return $this->hasOne(Layout::class);
return $this->belongsToMany('App\Layout', 'item_layout', 'item_id', 'layout_id');
}
}
从播放器开始,我想检索当前播放器,所有布局和相应的项目。不幸的是我做不到。
我调用播放器和布局如下:
Player::where('id',1)->with('layout')->get();
我如何另外获取查询中的所有项目?
茅侃侃
哔哔one
沧海一幻觉