2016-07-28 49 views
0

我想在selecct查询的foreach $ selected_student应选择与所有尊重student_id数据全部列,然后显示数据表(它没有做相同的,并给予错误)。的foreach在控制器laravel 5.2

我使用yajra数据表。

控制器

public function anyData(Request $request) 
{ 
    $selected_batch_value = Session::get('batch_selection'); 

    $select_student = DB::table('student_batch') 
     ->select('student_id') 
     ->where('batch_id', '=', $selected_batch_value) 
     ->get(); 

    if($selected_batch_value != 0) { 
     foreach($select_student as $select_student) {   
      $student[] = student::select('student_id', 'first_name','middle_name','last_name', \DB::raw('CONCAT(first_name, " ",middle_name, " " ,last_name) AS full_name'), 'mobile_num', 'email','address_line1','address_line2','state','city','pincode',\DB::raw('CONCAT(address_line1, "<br>",address_line2, "<br> " ,state, "<br>",city,"<br>",pincode) AS address')) 
      ->where('student_id', '=', $select_student->id) 
      ->get();     
     } 

     return Datatables::of($student)->make(true); 
    } else { 
     $student = student::select('student_id', 'first_name','middle_name','last_name', \DB::raw('CONCAT(first_name, " ",middle_name, " " ,last_name) AS full_name'), 'mobile_num', 'email','address_line1','address_line2','state','city','pincode',\DB::raw('CONCAT(address_line1, "<br>",address_line2, "<br> " ,state, "<br>",city,"<br>",pincode) AS address')); 

     return Datatables::of($student)->make(true); 
    }  
} 
+0

'foreach($ select_student as $ select_student)'什么?这很愚蠢,请阅读任何有关'foreach'循环的文章。 – ventaquil

回答

1

的错误是在你foreach循环,

这是结构或foreach环,

foreach ($variable as $key => $value){ 
# code... 
} 

在你的情况的$variable$value相同,既是$select_student。更改为,

foreach($select_student as $value){ 
$student[] = student::select('student_id', 'first_name','middle_name','last_name', \DB::raw('CONCAT(first_name, " ",middle_name, " " ,last_name) AS full_name'), 'mobile_num', 'email','address_line1','address_line2','state','city','pincode',\DB::raw('CONCAT(address_line1, "<br>",address_line2, "<br> " ,state, "<br>",city,"<br>",pincode) AS address')) 
     ->where('student_id', '=', $value->id) 
     ->get(); 
} 
相关问题