【发布时间】:2016-09-25 12:10:57
【问题描述】:
我意识到 Laravel 在我的子表中查找“parent_id”字段,但我在子表中有两个父字段。 而且我想以不同的方式命名该字段而不是“parent_id”。
如何在查找 FK 时将我的字段名称传达给 Laravel?
【问题讨论】:
我意识到 Laravel 在我的子表中查找“parent_id”字段,但我在子表中有两个父字段。 而且我想以不同的方式命名该字段而不是“parent_id”。
如何在查找 FK 时将我的字段名称传达给 Laravel?
【问题讨论】:
当您在模型中构建关系时,您可以提供 local 和 foreign_key;
说你的子表结构如下;
|编号 |姓名 | parent1_id | parent2_id |
您的父表如下所示;
|编号 |姓名 |随便|
// in child model
// first relation
public function parent1()
{
return $this->belongsTo('App\Models\Parent', 'parent1_id', 'id');
}
// second relation
public function parent2()
{
return $this->belongsTo('App\Models\Parent', 'parent2_id', 'id');
}
我给出的例子是 belongsTo 关系类型。查看relevant section of Laravel documentation.上的其他关系的方法签名
【讨论】: