2017-09-28 7 views
0

J'essaye d'exécuter une requête de jointure de mon contrôleur sur laravel mais je reçois "Appel à une fonction membre leftJoin() à null"joindre requête résultat dans "Appel à une fonction membre leftJoin() sur null"

public function tracking_groupindividual(Request $request) 
{ 
    $user_id = $request->user_id; 
    $group_id = $request->group_id; 

    $get_group_individual_details = DB::table('group_usermapping as gu') 
     ->select(
      'um.user_id', 
      'um.user_name', 
      'um.image_path', 
      'um.mobile_number', 
      'ul.latitude', 
      'ul.longitude', 
      'um.isnearby_on', 
      'gu.isadmin', 
      'um.profile_status', 
      'ul.timedout' 
     ) 
     ->join('user_master as um','gu.user_id','=','um.user_id') 
     ->join('groupusers_location as ul','ul.user_id','=','um.user_id','ul.group_id','=','gu.group_id') 
     ->where(function ($query) use ($group_id) { 
      $query->where('gu.group_id', '=', $group_id) 
       ->where('gu.isactive','=','1')->where('um.isactive','=','1'); 
     })->get(); 

     return $get_group_individual_details; 
    } 

Répondre

0

Je trouve un problème dans la seconde jointure et fixé il

public function tracking_groupindividual(Request $request) 
{ 
    $user_id = $request->user_id; 
    $group_id = $request->group_id; 

    $get_group_individual_details = DB::table('group_usermapping as gu') 
     ->select(
      'um.user_id', 
      'um.user_name', 
      'um.image_path', 
      'um.mobile_number', 
      'ul.latitude', 
      'ul.longitude', 
      'um.isnearby_on', 
      'gu.isadmin', 
      'um.profile_status', 
      'ul.timedout' 
     ) 
     ->join('user_master as um','gu.user_id','=','um.user_id') 
     ->join('groupusers_location as ul', function ($join) { 
      $join->on('ul.user_id','=','um.user_id') 
       ->where('ul.group_id','=','gu.group_id'); 
     }) 
     ->where(function ($query) use ($group_id) { 
      $query->where('gu.group_id', '=', $group_id) 
       ->where('gu.isactive','=','1')->where('um.isactive','=','1'); 
     })->get(); 

     return $get_group_individual_details; 
    } 
+0

maintenant la même erreur maintenant sélectionnez "Appel à une fonction membre select() à null" @Morteza Rajabi – Akumar

+0

Utilisation de l'utilisation Illuminate \ Support \ Facades \ DB pour importer la classe DB dans mon contrôleur – Akumar

0

essayer d'utiliser DB :: brut() avec des alias !!!

$get_group_individual_details = DB::table(DB::raw('group_usermapping as gu')) 
           ->join(DB::raw('user_master as um'),DB::raw('gu.user_id'),'=',DB::raw('um.user_id')) 
           ->join(DB::raw('groupusers_location as ul'),DB::raw('ul.user_id'),'=',DB::raw('um.user_id'),DB::raw('ul.group_id'),'=',DB::raw('gu.group_id')) 
           ->select(DB::raw('um.user_id'),DB::raw('um.user_name'),DB::raw('um.image_path'),DB::raw('um.mobile_number'),DB::raw('ul.latitude'),DB::raw('ul.longitude'),DB::raw('um.isnearby_on'),DB::raw('gu.isadmin'),DB::raw('um.profile_status'),DB::raw('ul.timedout')) 
           ->where(function ($query) use ($group_id) { 
             $query->where(DB::raw('gu.group_id'), '=', $group_id)->where(DB::raw('gu.isactive'),'=','1')->where(DB::raw('um.isactive'),'=','1'); 
             })->get(); 

return $get_group_individual_details; 

et remplacer utilisation Illuminate \ Support \ Façades \ DB; avec utilisez DB;