Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 未定义变量:kelas_Php_Laravel - Fatal编程技术网

Php 未定义变量:kelas

Php 未定义变量:kelas,php,laravel,Php,Laravel,如何将JSON的值转换为变量kelas? 在这里,我找到了错误的未定义变量kelas public function tahunForKelas($tahun_id) { $siswa_json = DB::table('siswa')->select(['siswa.id_siswa']) ->join('nilai','nilai.id_siswa','=','siswa.id_siswa') ->join

如何将JSON的值转换为变量kelas? 在这里,我找到了错误的未定义变量kelas

public function tahunForKelas($tahun_id)

    {
       $siswa_json = DB::table('siswa')->select(['siswa.id_siswa'])
           ->join('nilai','nilai.id_siswa','=','siswa.id_siswa')
           ->join('waliMurid','waliMurid.id_siswa','=','siswa.id_siswa')
           ->where('waliMurid.id_waliMurid','=',Auth::guard('orangtua')->user()->id_waliMurid)->get();


           foreach ($siswa_json as $siswa) {

               $id_siswa = $siswa->id_siswa;

         $kelas = DB::table('kelas')->select(['kelas.id_kelas','kelas.nama_kelas'])->join('kelasSiswa','kelasSiswa.id_kelas','=','kelas.id_kelas')->where('kelasSiswa.id_siswa',$id_siswa)->where('kelasSiswa.id_tahun',$tahun_id)->get();
           }



      return Response::json($kelas);
   }

我认为这是因为查询生成器返回空值。如果条件为空,则必须创建条件,这样它就不会抛出未定义的错误

if (!empty($siswa_json)) {
    foreach ($siswa_json as $siswa) {
        $id_siswa = $siswa->id_siswa;

        $kelas = DB::table('kelas')->select(['kelas.id_kelas','kelas.nama_kelas'])->join('kelasSiswa','kelasSiswa.id_kelas','=','kelas.id_kelas')->where('kelasSiswa.id_siswa',$id_siswa)->where('kelasSiswa.id_tahun',$tahun_id)->get();
    }
} else {
    $kelas = [];
}

这是因为您的
$siswa_json
为空,因此它永远不会进入
foreach
循环。因此,您的
$kelas
从未定义过。