3 回答

TA貢獻1842條經驗 獲得超21個贊
你完美地建立了關系。現在從 Player 到 layout 你得到了它with('layout')
。試試看。
$players = Player::with('layout.item')->where('id',1)->get();
它將為您提供玩家以及帶有項目的布局。

TA貢獻1854條經驗 獲得超8個贊
如果我理解你的問題,我想你就快到了。
也將其添加到Player模型中,就像您所做的其他方法一樣。
public function contents(){
return $this->belongsToMany('App\Content');
}
要獲取有關播放器的所有內容,請將這些內容寫入控制器并將其傳遞給查看文件。
$player = Player::findOrFail(1);
return view('path.to.file_name',compact('player'));
在視圖文件中
//get all contents of a player
@foreach($player->contents as $content)
<p>{{ $content->text}}</p>
@endforeach
//get all layouts of a player
@foreach($player->layout as $layout)
<p>{{ $layout->name}}</p>
@endforeach
//get all items of a player
@foreach($player->layout as $layout)
<p>{{ $layout->name}}</p>
@foreach($layout->item as $item)
<p>{{ $item->name }}</p>
@endforeach
@endforeach

TA貢獻1824條經驗 獲得超5個贊
非常感謝您的快速回答。不幸的是,這并不能解決我的問題。我通過 api 路由調用 PlayerController 并需要表單中播放器的所有對象作為返回:
播放器
布局
物品
public function show($id)
{
$player = Player::findOrFail($id);
//$player = Player::where('id',$id)->with('layout')->get();
return $player;
}
我得到這個回應:
{"id":1,"name":"Testplayer","created_at":"2019-09-22 15:53:07","updated_at":"2019-09-22 15:53:07"}
但我還需要布局和項目。
我希望你仍然能理解我糟糕的英語。;)
- 3 回答
- 0 關注
- 162 瀏覽
添加回答
舉報