我正在使用Laravel 5.4。我正在使用Eloquent ORM。我创建了表格作为国家和国家。两者都是如下的错误:
国家表:
州表:
现在,我已经编写了两种方法来设置States和Countries表之间的关系。
国家模型:
public function country()
{
return $this->belongsTo('App\Models\Masters\Country')->select('name as country_name');
}
州模式:
$state = State::with('country')->find($id);
return Response($state);
现在,我将创建编辑功能,因此无法获得国家/地区名称。
我已将查询编写为
{{1}}
在这里,我只获得状态数据和国家/地区数据。
那么我应该怎么做才能获得州和国家数据呢?
答案 0 :(得分:3)
您不应该在关系中使用select
。当你只使用国家名称Laravel赢得无法将其与你的州联系起来时,它就不会起作用。
你应该像这样定义你的关系:
public function country()
{
return $this->belongsTo(\App\Models\Masters\Country::class);
}
public function states()
{
return $this->hasMany(\App\Models\Masters\State::class);
}
没有选择