在定义雄辩的关系时,我对第二和第三个论点感到困惑。
public function phone()
{
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
}
public function user()
{
return $this->belongsTo('App\User', 'foreign_key', 'other_key');
}
我理解两个关系中的第二个参数,它是相同的外键。但是,我对第三个关于它所指的内容的争论感到困惑?我假设这是外键引用的关键,因此在两种关系中也是如此。我不知道我是对还是错。请详细说明答案。
答案 0 :(得分:3)
你的假设是正确的。
两个参数都指向完全相同的两列。
foreign_key
个参数都是phone
表中的外键列
(在您的案例中未指定user_id
的任何内容)
local_key
和other_key
是对应的,外键指向的列
在大多数情况下,这也是另一个表的主键列
(在您的案例中未指定id
的任何内容)