我有适用于他们的隐私设置的资源。即社区和活动。我在所有需要隐私的资源上创建了一个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
方法,它将为查询添加一个连接。