【问题标题】:Laravel Eloquent, Determining Custom Column as Foreignkey in Related ModelLaravel Eloquent,在相关模型中将自定义列确定为外键
【发布时间】:2020-07-19 16:18:35
【问题描述】:

经过研究,我找不到令人满意的答案,我就在这里。我有一个 laravel 雄辩的模型关系如下;

public function modules () {
    return $this->belongsToMany('App\Module', 'user_modules', 'user_id', 'module_id');
}

作为默认 laravel 将用户模型的 id 与模块模型中的 user_id 列配对,但我有另一个名为 parent_user_id 的列,我想将用户模型的 parent_user_id 列与模块模型中的 user_id 列配对。这可能吗?如何?非常感谢.. 我希望这对其他人有帮助。

【问题讨论】:

    标签: laravel eloquent relationship


    【解决方案1】:

    BelongsToMany的定义: https://github.com/laravel/framework/blob/7.x/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php#L149

    您会看到有更多选项可提供给构造函数。

    现在$builder 是由 Laravel 注入的,所以从模型开始:

    Model $parent, 
    $table, 
    $foreignPivotKey, 
    $relatedPivotKey, 
    $parentKey, 
    $relatedKey, 
    $relationName = null
    

    您已经定义了前 4 个。在您的情况下,您需要定义 relatedKey,您需要设置它以匹配您的自定义 id 字段。

    【讨论】:

      猜你喜欢
      • 2018-09-16
      • 2013-11-22
      • 2014-04-11
      • 2016-11-06
      • 2023-04-01
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 2010-10-28
      相关资源
      最近更新 更多