【问题标题】:Use two foreign key and two owner key使用两个外键和两个所有者键
【发布时间】:2021-12-01 14:18:36
【问题描述】:

在 laravel Eloquent:关系我想使用两个外键和两个所有者键。

我该怎么做?

public function user()
{
    return $this->belongsTo(
        User::class,
        'foreign_key1',
        'owner_key1',
        'foreign_key2',
        'owner_key2'
    );
}

【问题讨论】:

  • 请分享你想用这个实现什么。
  • 提供更多上下文会很有用。

标签: laravel eloquent relationship


【解决方案1】:

解决方法是您可以创建 2 个关系方法来指定每个用户的关系,如果这是您真正想要的:

public function firstUser()
{
    return $this->belongsTo(User::class, 'foreign_key1', 'owner_key1');
}

public function secondUser()
{
    return $this->belongsTo(User::class, 'foreign_key2', 'owner_key2');
}

我认为没有其他方法可以解决这个问题。

如果此答案对您不利,请考虑对该问题添加更多解释,例如 linktoahref 所说的内容。

【讨论】:

    【解决方案2】:

    我认为 Eloquent 不支持复合键,请参阅post

    在那篇文章中,他们提到了这个包 https://github.com/topclaudy/compoships 为其提供支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多