Laravel关系关系
Laravel relations relation
我对 Laravel Eloquent 模型和关系有理解上的问题。
我有一个用户 table user
。这些用户可以添加汽车牌照,我将其保存在 user_plates
中。我有一个包含汽车型号和类型的数据库。 table 名字是 cars
。我有模型 App\User、App\UserPlates 和 App\Car。
user_plates table 有字段 id,plate,user_id,car_id
。
我保存车牌、关联用户(在 user_id 中)和所选汽车(car_id(id 来自 table 汽车))
我将 plates()
和 belongTo
功能添加到我的用户模型中,它已经成功 returns 与该用户关联的所有板块。但是现在我想获得关联的汽车(car_id inside user_plates)。如何使用 Eloquent 实现此目的?汽车table与用户table没有任何联系,只有user_plates有一个car_id和一个user_id。
我需要实现这个:
User -> Plates (can be multiple) -> Plate -> Car
。我知道如何使用简单的 MySQL 连接来实现这一点,但我想使用 Eloquent 来正确完成。感谢您的帮助!
Laravel: 6.4.0
因此,如果您的数据库设置为...
users user_plates cars
----- ----------- ----
id id id
etc. plate etc.
user_id
car_id
您的模型设置为...
// in model: User
public function user_plates()
return $this->hasMany('UserPlate'); // fill out fully qualified name as appropriate…
// in model: UserPlate
public function user()
return $this->belongsTo('User');
public function car()
return $this->belongsTo('Car');
// in model: Car
public function user_plates()
return $this->hasMany('UserPlate’);
到 return 属于用户 $id
的汽车集合,您应该能够 运行:
$cars = User::findOrFail($id)-> user_plates->pluck('car');
我对 Laravel Eloquent 模型和关系有理解上的问题。
我有一个用户 table user
。这些用户可以添加汽车牌照,我将其保存在 user_plates
中。我有一个包含汽车型号和类型的数据库。 table 名字是 cars
。我有模型 App\User、App\UserPlates 和 App\Car。
user_plates table 有字段 id,plate,user_id,car_id
。
我保存车牌、关联用户(在 user_id 中)和所选汽车(car_id(id 来自 table 汽车))
我将 plates()
和 belongTo
功能添加到我的用户模型中,它已经成功 returns 与该用户关联的所有板块。但是现在我想获得关联的汽车(car_id inside user_plates)。如何使用 Eloquent 实现此目的?汽车table与用户table没有任何联系,只有user_plates有一个car_id和一个user_id。
我需要实现这个:
User -> Plates (can be multiple) -> Plate -> Car
。我知道如何使用简单的 MySQL 连接来实现这一点,但我想使用 Eloquent 来正确完成。感谢您的帮助!
Laravel: 6.4.0
因此,如果您的数据库设置为...
users user_plates cars
----- ----------- ----
id id id
etc. plate etc.
user_id
car_id
您的模型设置为...
// in model: User
public function user_plates()
return $this->hasMany('UserPlate'); // fill out fully qualified name as appropriate…
// in model: UserPlate
public function user()
return $this->belongsTo('User');
public function car()
return $this->belongsTo('Car');
// in model: Car
public function user_plates()
return $this->hasMany('UserPlate’);
到 return 属于用户 $id
的汽车集合,您应该能够 运行:
$cars = User::findOrFail($id)-> user_plates->pluck('car');