2017-02-28 16 views
0

JSONの値を変数kelasに取得するにはどうすればよいですか? は、ここで私は、私はあなたのクエリビルダは、空の値を返すので、それはだと思うエラー未定義の変数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); 
    } 
+1

あなたの '$ siswa_json'は空で、' foreach'ループに入ることはないからです。したがって、 '$ kelas'は決して定義されていません。 –

答えて

0

を見つけました。条件が空の場合、条件を作成して、定義されていないエラーをスローしないようにする必要があります。

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 = []; 
}