我认为不可能完全按照您的要求去做。
我认为您应该将它们视为独立的关系,然后在模型上创建一个新方法来检索两者的集合。
public function userRelations() { return $this->hasMany('AppUserRelation');}public function relatedUserRelations() { return $this->hasMany('AppUserRelation', 'related_user_id');}public function allUserRelations() { return $this->userRelations->merge($this->relatedUserRelations);}
这样,您仍然可以获得在模型上进行预先加载和关系缓存的好处。
$cause = Cause::with('donations.user.userRelations', 'donations.user.relatedUserRelations') ->where('active', 1)->first();$userRelations = $cause->donations[0]->user->allUserRelations();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)