Foreach in controller in laravel 5.2


Foreach in controller in laravel 5.2

我想在foreach中$selected_student在selecct查询中选择所有具有所有受尊重的student_id的列,然后显示数据表(它不这样做,并给出错误)。

我正在使用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);
    }      
}

错误在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();
}