Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel连接相关的其他表_Php_Sql_Laravel_Relationship_Laravel 6 - Fatal编程技术网

Php Laravel连接相关的其他表

Php Laravel连接相关的其他表,php,sql,laravel,relationship,laravel-6,Php,Sql,Laravel,Relationship,Laravel 6,我的情况是这样的: 用户模型: public function role() { return $this->hasOne('App\model\Roles' , 'id' ,'role'); } public function userMetaData() { return $this->hasOne('App\model\UserMetaData' , 'user_id' ,'id'); } public fun

我的情况是这样的:

用户模型:

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();  
现在关键是在
角色中
我正在获取用户的角色,在
父数据中
我正在通过自调用从同一用户表中获取用户(父)的创建者,因为父用户也有
角色

我的问题是如何在
parentData
对象中获取
role
对象?
谢谢

首先。。您设置的关系错误,应该属于sto

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();  

在这里,我认为第一个
角色是为我想获取数据的用户设置的,但是我想获取与该用户的父级相关的
角色,也就是您错误地设置了hasOne,它应该属于to.。检查此处的反向关系。。如果您使用
'parentData.role'
进行操作,您将获得具有其角色的父用户。请尝试我的答案并进行检查,然后让我知道答案是否工作正常。