CLI 已停止工作,if isset inside a foreach, using laravel

CLI has stopped working, with if isset inside a foreach, using laravel

所以我真的必须在 foreach 中做一个 if isset 但每次我加载 url,windows 给我 CLI 已停止工作 报告,然后我的 artisan 发球接近。

这是我的控制器

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) {

最后 如果您的错误仍然存​​在,请考虑分享更多关于您系统的信息:OS、配置文件、PHP 版本等