举个例子:
我的表格users
的字段为id
,name
,city
。我有另一张表,其中包含城市的名称。表名为cities
,字段为:id
,name
。因此,我将一个城市的ID(主键)存储在表city
的{{1}}列中。在获得用户Eloquent模型的同时,获取城市名称的最佳方式是什么?
答案 0 :(得分:1)
按照惯例,您可以将您的关系命名为city()
,但还有一个属性city
是外键,因此您无法访问相关模型。
如果是这样,那么我建议将外键重命名为city_id
或类似的东西,然后它会起作用:
$user->city; // City model
$user->city->name;
否则,如果您无法更改架构,请重命名关系:
// User model
public funciton relatedCity()
{
return $this->belongsTo('City', 'city');
}
// then
$user->relatedCity->name;
答案 1 :(得分:0)
假设您已经配置了模型
// find a user named John
$user = User::where('name', '=', 'John')->first();
// get the city of the user
$userCity = $user->city;