我有這樣的情況:用戶模型: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 關注
- 116 瀏覽
添加回答
舉報
0/150
提交
取消