在Laravel中使用哪个关系将两个表绑定到第三个表?
可以将Doctor
分配给某些Center
时。中间表将为:
doctor_id | center_id
在这种情况下如何在Laravel中创建模型?
答案 0 :(得分:2)
您不需要中间表的模型,只需使用Attach
示例:
$center = Center::create();
$doctor = Doctor::find(1);
$doctor->centers()->attach($doctor->id);
这是一个非常简单的示例,但应为您提供有关如何实现它的想法。
所有这些当然都需要您建立具有正确的多对多关系的Center和Doctor模型
Doctor.php 模型:
public function centers()
{
return $this->belongsToMany(Doctor::class);
}
有关更多信息,请参见documentation。
您显然可以创建一个名为DoctorsCenter的模型,并在需要附加关系时手动执行此操作。
DoctorsCenter::create(['center_id' => $center->id, 'doctor_id' => $doctor->id]);
我认为这样做没有任何正当理由,因此不推荐这样做。
答案 1 :(得分:-1)
您可以使用Laravel的 hasMany 或 belongsTo 关系。 有关详细信息,请参见laravel documentation