我有这样的情况:用户模型:public function role() { return $this->hasOne('App\model\Roles' , 'id' ,'role'); } public function userMetaData() { return $this->hasOne('App\model\UserMetaData' , 'user_id' ,'id'); } public function userBet() { return $this->hasMany('App\model\UserBet' , 'user_id' , 'id'); } public function userComission() { return $this->hasMany('App\model\UserComission' , 'user_id' , 'id'); } public function userPartnership() { return $this->hasMany('App\model\UserPartneShip' , 'user_id' , 'id'); } // Self Call public function parentData() { return $this->hasOne('App\User','id','parent_id'); }控制器$userData = User::with(['userMetaData','userBet','userComission','userPartnership','role','parentData']) ->where('id',$id) ->get(); 现在重点是role我正在获取用户的角色,并且parentData我正在通过自我调用从同一个用户表中获取用户(父)的创建者,现在父也有一个role我的问题是如何将role对象放入对象中parentData ?谢谢!
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
首先..你设置的关系是错误的,它应该是belongsTo
public function role() {
return $this->belongsTo('App\model\Roles' ,'role', 'id');
}
public function parentData() {
return $this->belongsTo('App\User','parent_id','id');
}
现在,正如您想要的那样,集合role内的对象parentData如下所示。
$userData = User::with(['userMetaData','userBet','userComission','userPartnership','parentData.role'])
->where('id',$id)
->get();
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消