覆盖Eloquent关系中的默认外键和本地键Laravel 5

时间:2015-08-24 10:13:14

标签: eloquent laravel-5.1

在定义雄辩的关系时,我对第二和第三个论点感到困惑。

public function phone()
    {
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
}
public function user()
{
    return $this->belongsTo('App\User', 'foreign_key', 'other_key');
}

我理解两个关系中的第二个参数,它是相同的外键。但是,我对第三个关于它所指的内容的争论感到困惑?我假设这是外键引用的关键,因此在两种关系中也是如此。我不知道我是对还是错。请详细说明答案。

1 个答案:

答案 0 :(得分:3)

你的假设是正确的。

两个参数都指向完全相同的两列。

foreign_key个参数都是phone表中的外键列 (在您的案例中未指定user_id的任何内容)

local_keyother_key是对应的,外键指向的列 在大多数情况下,这也是另一个表的主键列 (在您的案例中未指定id的任何内容)

相关问题