无法在多态关系上获得正确的 Eloquent 关联
Can't get correct Eloquent association on polymorphic relationship
我有应用了隐私设置的资源。即社区和事件。我在所有需要隐私的资源上创建了 morphOne 关系
public function privacy(){
return $this->morphOne('App\Privacy', 'privacy_resource');
}
我可以像这样查询集合的隐私设置
$profile->events()->with('privacy')->get();
但是当我像这样在单个资源上尝试这样做时
$event->with('privacy')->get();
我改为从该资源中获取所有项目的集合。
我意识到我可能在这里误用了 get()
,它实际上获取了所有具有隐私设置的事件。我应该在这里使用 get
以外的东西吗?谢谢你。
检索到模型后,您可以使用 load
而不是 with
。
$event->load('privacy');
另一方面,在语句 $profile->events()->with('privacy')->get();
中,您尚未从数据库中检索事件模型。这就是您可以在此处使用 with
方法的原因,该方法将向查询添加连接。
我有应用了隐私设置的资源。即社区和事件。我在所有需要隐私的资源上创建了 morphOne 关系
public function privacy(){
return $this->morphOne('App\Privacy', 'privacy_resource');
}
我可以像这样查询集合的隐私设置
$profile->events()->with('privacy')->get();
但是当我像这样在单个资源上尝试这样做时
$event->with('privacy')->get();
我改为从该资源中获取所有项目的集合。
我意识到我可能在这里误用了 get()
,它实际上获取了所有具有隐私设置的事件。我应该在这里使用 get
以外的东西吗?谢谢你。
检索到模型后,您可以使用 load
而不是 with
。
$event->load('privacy');
另一方面,在语句 $profile->events()->with('privacy')->get();
中,您尚未从数据库中检索事件模型。这就是您可以在此处使用 with
方法的原因,该方法将向查询添加连接。