1

我该如何纠正这个错误,我有三个表 profils、competences 和 permissions_profil。我想恢复每个配置文件的权限,我可以使用查询生成器和 eloquent 的权限来检索配置文件。但是当我想检索每个配置文件的权限时,我收到以下错误:未定义的属性:$ stdClass ::

controller :
        $competences = \App\Competence::All();

     $profils = \DB::table('profils')
            ->select(['profils.*']);

        if($request->has('varcate')){
                $profils->join('fonctions','profils.fonctions_id','=','fonctions.id');       
                $profils->join('categos','fonctions.categos_id','=','categos.id');
                $profils->where('categos.id','=',$request->input('varcate'));

        }

        if($request->has('varfonction')){
            if(!$request->has('varcate')){   
                $profils->join('fonctions','profils.fonctions_id','=','fonctions.id');       
            }

            $profils->where('fonctions.id','=',$request->input('varfonction'));
        }

        if($request->has('varstate')){
                $profils->join('citys','profils.citys_id','=','citys.id');       
                $profils->join('states','citys.state_id','=','states.id');
                $profils->where('states.id','=',$request->input('varstate'));

        }

     if($request->has('varcity')){
            if(!$request->has('varstate')){   
                $profils->join('citys','profils.citys_id','=','citys.id');       
            }

            $profils->where('citys.id','=',$request->input('varcity'));
        }

      $profils = $profils->paginate(30);

模型:能力 public function profils() { return $this->belongsToMany('App\Profils'); }

profils
        public function competences()
    {
        return $this->belongsToMany('App\Competence');
    }

view :
@foreach($profils as $profil) 
        @foreach($profil->competences as $competence) 
          {{$competence->titre}}
        @endforeach
@endforeach
4

1 回答 1

0

尝试这个

控制器 :

    use App/Profils

public function getProfiles(Profils $profils){

    $profils = $profils;

    if($request->has('varcate')){

        $varcate = $request->get('varcate');
        $profils =  $profils->whereHas('fonctions', function ($query) use ($varcate){
                        $query->whereHas('category', function ($subQuery) use ($varcate) {
                                $subQuery->where('category.id',$varcate);
                        });
                    });
    }

    if($request->has('varfonction')){

        $varfonction = $request->get('varfonction');
        $profils =  $profils->whereHas('fonctions', function ($query) use ($varfonction){
                        $query->where('fonctions.id',$varfonction);
                });
    }

    if($request->has('varstate')){

        $varstate = $request->get('varstate');
        $profils =  $profils->whereHas('citys', function ($query) use ($varstate){
                        $query->whereHas('states', function ($subQuery) use ($varstate) {
                                $subQuery->where('states.id',$varstate);
                        });
                    });
    }

    if($request->has('varcity')){

        $varcity = $request->get('varcity');
        $profils =  $profils->whereHas('citys', function ($query) use ($varcity){
                        $query->where('citys.id',$varcity);
        });

    }


    $profils = $profils->paginate(30);

    return view('profiles',compact('profils'))
}

简介

 public function fonctions(){
    return $this->belongsTo('App\fonctions','fonctions_id');
}

public function citys(){
    return $this->belongsTo('App\citys','citys_id');
}

public function competences()
{
    return $this->belongsToMany('App\Competence');
}

功能

public function fonction(){
    return $this->belongsTo('App\category','category_id');
}

城市

public function states(){
    return $this->belongsTo('App\states','state_id');
}

看法 :

@foreach($profils as $profil) 
        @foreach($profil->competences as $competence) 
          {{$competence->titre}}
        @endforeach
@endforeach
于 2016-08-22T18:41:22.943 回答