如何将一个模型添加到另一个模型的关系数组中?
例如:
- Domain 属于 Owner。
- Owner 拥有一个 Domain。
- 我有 $domain(Domain 的实例)。
- 我有 $owner(Owner 的实例)。
我想将 $domain
添加到 $owner->relations[]
中,这样后面可以直接使用 $owner->domain
。
这么做的原因是在一个特定的控制器中,我只需要每个模型的部分数据集,因此使用联接查询来进行查询以提高性能,然后填充模型。
为了可读性,我想使用 $owner->domain->id
等等。
$domain->owner()->associate($owner);
会给我一个 $domain->owner
选项。
但我无法弄清相反的版本。
$owner->domain()->associate($domain)
$owner->domain()->attach($domain)
两者都会导致以下致命错误:
Call to undefined method Illuminate\Database\Query\Builder::[attach|associate]()
NB: 我不想保存任何东西,因为我已经加载了所有需要的数据。