Laravel:在雄辩的查询中(从其他模型中)获取额外的列

时间:2019-01-30 11:11:57

标签: php laravel eloquent

-我期望什么-

我正在根据另一个选择的内容填写表单选择。

第一个选择是:

{{Form::select('country',$countries,$player->city->country->id,['class' => 'form-control','id' => 'selectCountry'])}}

“第二选择”应填充与该国家/地区链接的城市。

-我的控制器试图接收necesarry信息-

return Country::find($request->get('country'))->cities->where('player_id','!=',null);

一切正常。现在是问题所在,我的JSON对象(国家(国家)模型)具有player_id,但我希望结果还包括他在App \ Player模型中找到的“ player_name”列。

任何人都有一个想法如何建立Eloquent查询?还是只能通过DB ::查询完成,如果可以的话,如何建立此查询?

谢谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果在“国家/地区”表上有一个player_id列,则在“国家/地区”模型上应该有一个player()关系。

所以您可以:

return Country::find($request->get('country'))->cities->where('player_id','!=',null)->with('player');

然后是$country->player->player_name;