【问题标题】:Laravel Foreign Key field name without '_id'没有'_id'的Laravel外键字段名称
【发布时间】:2016-09-25 12:10:57
【问题描述】:

我意识到 Laravel 在我的子表中查找“parent_id”字段,但我在子表中有两个父字段。 而且我想以不同的方式命名该字段而不是“parent_id”。

如何在查找 FK 时将我的字段名称传达给 Laravel?

【问题讨论】:

    标签: laravel-5 foreign-keys


    【解决方案1】:

    当您在模型中构建关系时,您可以提供 localforeign_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.上的其他关系的方法签名

    【讨论】:

    • @Lazysheepherd,它说的是未定义的属性:App\Models\Child::$parent1_id,虽然我在 childs 表迁移中有 'parent1_id' 整数。
    • @AarohiKulkarni 您是否尝试静态访问它?你能发布完整的错误信息和代码行在这里产生错误吗?
    猜你喜欢
    • 1970-01-01
    • 2021-07-31
    • 2012-10-10
    • 2014-12-19
    • 2019-02-17
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 2020-08-19
    相关资源
    最近更新 更多