К сожалению, у меня пока нет особого опыта работы с Eloquent.Я пытаюсь создать запрос из трех таблиц, которые имеют две сводные таблицы.
Мои таблицы:
Мои модели:
Player
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');
}
}
Item
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();
Как дополнительно получить все элементы в запросе?