【发布时间】:2022-01-08 07:02:27
【问题描述】:
我是 laravel 新手
总是得到这个
Symfony\Component\ErrorHandler\Error\FatalError 允许的内存大小 2147483648 字节用尽(尝试分配 2147483656 字节) 此行出错
$arrayGejala = collect([
substr($gejala1, 14, 1),
substr($gejala2, 14, 1),
substr($gejala3, 14, 1),
])->implode(',');
$belief = DB::table('pengetahuan')->select(DB::raw("GROUP_CONCAT(penyakit.kode_penyakit)"), 'pengetahuan.bobot')
->from('pengetahuan')
->join('penyakit', 'pengetahuan.id_penyakit', '=', 'penyakit.id_penyakit')
->whereIn('pengetahuan.id_gejala', [(array)$arrayGejala[0],(array)$arrayGejala[2],(array)$arrayGejala[4]])
->groupBy('pengetahuan.id_gejala')
->get();
$evidence = array();
while ($row = $belief->first()) {
$evidence[]=$row;
}
【问题讨论】:
-
while ($row = $belief->first())将导致无限循环。如果$belief->first()是真的,那么它将永远是真的(函数是“纯的”,即它不会改变集合的状态)。您可能想要做类似$evidence = $belief->all()的事情而不是循环