gpt4 book ai didi

laravel - 使用 Eloquent 手动注入(inject)模型关系

转载 作者:行者123 更新时间:2023-12-03 21:22:23 25 4
gpt4 key购买 nike

如何将模型添加到另一个模型的关系数组中?

例如。

  • 域属于所有者。
  • 所有者拥有一个域。
  • 我有 $domain(域的实例)。
  • 我有 $owner(所有者的实例)。

  • 我要加 $domain$owner->relations[]这样我就可以使用 $owner->domain稍后在我的代码中。

    这样做的原因是,在一个特定的 Controller 中,我只需要来自每个模型的部分数据集,因此出于性能原因使用 fluent 通过连接查询,然后填充模型。

    然后为了便于阅读,我想使用 $owner->domain->id ETC
    $domain->owner()->associate($owner);给我一个 $domain->owner选项

    但是我无法计算出相反的版本
    $owner->domain()->associate($domain)
    $owner->domain()->attach($domain)

    两者都导致以下 fatal error

    Call to undefined method Illuminate\Database\Query\Builder::[attach|associate] ()



    注意:我不想保存任何东西,因为我已经加载了我需要的所有数据。

    最佳答案

    setRelation()应该管用。它只是设置 relations 中的值大批。

    $owner->setRelation('domain', $domain);

    关于laravel - 使用 Eloquent 手动注入(inject)模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31288938/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com