举个例子:
我有一个表users
,字段为id
, name
, city
。我有另一个表,其中包含城市的名称。表名为cities
,字段为:id
, name
。因此,我将一个城市的id(主键)存储在表users
的city
列中。在获取用户雄辩模型的同时,获取城市名称的最佳方式是什么?
按照惯例,您将关系命名为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;
假设您已经配置了Models
// find a user named John
$user = User::where('name', '=', 'John')->first();
// get the city of the user
$userCity = $user->city;