3 回答
![?](http://img1.sycdn.imooc.com/533e4d470001a00a02000200-100-100.jpg)
TA贡献1842条经验 获得超21个赞
你完美地建立了关系。现在从 Player 到 layout 你得到了它with('layout')
。试试看。
$players = Player::with('layout.item')->where('id',1)->get();
它将为您提供玩家以及带有项目的布局。
![?](http://img1.sycdn.imooc.com/54585094000184e602200220-100-100.jpg)
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
![?](http://img1.sycdn.imooc.com/5458477f0001cabd02200220-100-100.jpg)
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 关注
- 136 浏览
添加回答
举报