CLI 已停止工作,如果 isset 在 foreach 内,使用 laravel



所以我真的必须在 foreach 中做一个 if isset,但每次我加载 url 时,窗口都会给我CLI 已停止工作报告,然后我的工匠服务就接近了。

这是我的控制器

public function nilairapor($id){
$mapel = DB::table('view_ket')
->where('id_isikelas', $id)
->where('id_tahun', $this->tahun)
->where('id_semester', $this->semester)->groupBy('namamapel')->get();
foreach ($mapel as $getid) {
if(isset(DB::table('view_sikap')->where('id_isikelas', $id)->where('id_mapel', $getid->id_mapel)->where('id_tahun', $this->tahun)->where('id_semester', $this->semester)->first())){
$nobserv =  DB::table('view_sikap')
->where('id_isikelas', $id)
->where('id_mapel', $getid->id_mapel)
->where('namanilai', 'Nilai Observasi')
->where('id_tahun', $this->tahun)
->where('id_semester', $this->semester)->first()->nilai;
$nds = DB::table('view_sikap')
->where('id_isikelas', $id)
->where('id_mapel', $getid->id_mapel)
->where('namanilai', 'Nilai Diri Sendiri')
->where('id_tahun', $this->tahun)
->where('id_semester', $this->semester)->first()->nilai;
$nateman = DB::table('view_sikap')
->where('id_isikelas', $id)
->where('id_mapel', $getid->id_mapel)
->where('namanilai', 'Nilai Antar Teman')
->where('id_tahun', $this->tahun)
->where('id_semester', $this->semester)->first()->nilai;
$njurnal = DB::table('view_sikap')
->where('id_isikelas', $id)
->where('id_mapel', $getid->id_mapel)
->where('namanilai', 'Nilai Jurnal')
->where('id_tahun', $this->tahun)
->where('id_semester', $this->semester)->first()->nilai;
$nasikap = ($nobserv + $nds + $nateman + $njurnal) / 4;
}else{
$nasikap = 0;
}
echo $nasikap;
}
}

我使用的是 Windows 10 和 PHP 5.6.3 愿你有美好的一天:)

有很多方法可以调试它...

首先检查日志以找出问题实际发生的位置。Laravel日志位于/storage/logs下。它肯定会告诉您错误发生的位置。

其次,为什么要将isset与数据库查询一起使用?

if (DB::table('view_sikap')->,,,->first() !== null) {

最后,如果您的错误占上风,请考虑分享有关您的系统的更多信息:操作系统,配置文件,PHP版本等。

最新更新