繁体   English   中英

雄辩的模型多对一关系

[英]Eloquent Model Many to One Relationship

举个例子:

我有一个表users ,其字段为idnamecity 我有另一个表,其中包含城市名称。 表名称是cities ,字段是: idname 因此,我将城市的ID(主键)存储在表userscity列中。 在获得用户口才模型的同时,获得城市名称的最佳方法是什么?

按照约定,您将命名您的关系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;

假设您已经配置了模型

// find a user named John
$user = User::where('name', '=', 'John')->first();

// get the city of the user
$userCity = $user->city;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM