Php 未定义变量:kelas
如何将JSON的值转换为变量kelas? 在这里,我找到了错误的未定义变量kelasPhp 未定义变量: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
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
从未定义过。