因此,我确实必须在foreach中进行if isset设置,但是每次加载URL时,Windows都会向我发送 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 祝你有美好的一天:)
答案 0 :(得分:0)
有很多方法可以调试...
首先检查您的日志以找出实际发生问题的位置。 Laravel日志位于 / storage / logs 下。它肯定会告诉您错误发生在哪里。
第二,为什么对数据库查询使用isset
?而是使用严格比较
if (DB::table('view_sikap')->,,,->first() !== null) {
最终,如果错误仍然存在,请考虑共享有关系统的更多信息:操作系统,配置文件,PHP版本等。