在Laravel中,我正在尝试使用hasOne
与模型建立输出关系数据。
我的表格是:
User
--------
id name country_id
1 Hakan 1
Country
--------
id country
1 Turkey
我的模型如下:
class User extends Eloquent{
public function country() {
return $this->hasOne('Country','id','country');
}
}
查看代码:
$country = User::find(1)->country;
当我运行此代码时,它会输出id
国家/地区,但我想回显国家/地区名称。我试过并搜索过但找不到任何帮助。
答案 0 :(得分:2)
根据您下面的表格关系
User
--------
id name country_id
1 Hakan 1
Country
--------
id country
1 Turkey
你在模型中的关系应该是
class User extends Eloquent{
public function country() {
return $this->belongsTo('Country');
}
}
因此,您可以使用
获取国家/地区名称$country = User::find(1)->country;
echo $country->country;
如果你想使用这样的东西
$users = Country::find(1)->users;
echo $users->first()->name; // get the first user's name
echo $users->get(1)->name; // get the second user's name
然后,您可以在hasMany
模型中使用Country
,例如
class Country extends Eloquent {
public function users()
{
return $this->hasMany('User');
}
}
答案 1 :(得分:0)
当您运行$country = User::find(1)->country;
时,$country
现在将包含您的Country
模型的实例。如果您想访问国家/地区名称,则需要通过该模型的属性获取该名称:
echo $country->country;