0

我正在使用 Laravel 5.4。我正在使用雄辩的 ORM。我创建了以国家和国家的形式表。两者都如下所示:

国家表:

在此处输入图像描述

状态表:

在此处输入图像描述

现在,我写了两种方法来设置国家和国家表之间的关系。

国家型号:

public function states()
{
    return $this->hasMany('App\Models\Masters\State')->select('*');
}

状态模型:

public function country()
{
    return $this->belongsTo('App\Models\Masters\Country')->select('name as country_name');
}

现在,我要创建编辑功能,所以我无法获得国家名称。

我已将查询写为

$state = State::with('country')->find($id);
return Response($state);

在这里,我只有州数据和国家数据为空。

那么我应该改变什么来获得州和国家数据呢?

4

1 回答 1

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);
}

没有选择

于 2017-02-17T14:49:32.427 回答