【问题标题】:Laravel hasManythrough?Laravel 有许多通过吗?
【发布时间】:2023-02-03 17:05:20
【问题描述】:

模型A(id) // ModelB(A.id,C.id)// 模型C(id,name)

你好,

如何使用模型 A 获取 C.name? 目前模型A有一个模型B,模型C有多个模型B。 我尝试使用 hasOnethrough 使用模型 B 将模型 A 和 C 关联起来,但它给了我 null。

【问题讨论】:

    标签: laravel eloquent relationship has-many-through has-many


    【解决方案1】:
    public function myFunction()
    {
        return $this->hasOnethrough(ModelC::class, ModelB::class,
            'a_id', 'id', 'id', 'c_id');
    }
    

    根据您的问题,ModelB 是您处理关系的枢轴模型。

    通常我们将数据透视表用于多对多关系,因为您可以使用 hasManyThrough 方法。

    您可以按照您的要求在您的ModelA模型中尝试上述功能,并将通过ModelB链接到modelC

    然后你可以像正常关系输出一样获取它。

    【讨论】:

      猜你喜欢
      • 2014-07-19
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 2016-09-18
      • 2019-06-27
      • 2021-08-08
      相关资源
      最近更新 更多