我有一个类似以下的sql命令:
DB::table('tb_angsuran_lainlain')->insert(array(
array('id_kegiatan'=>'1','id_siswa'=>'26338','id_bulan'=>'1','nominal'=>'300000'),
array('id_kegiatan'=>'2','id_siswa'=>'26338','id_bulan'=>'1','nominal'=>'300000'),
array('id_kegiatan'=>'','id_siswa'=>'','id_bulan'=>'','nominal'=>''),
));
我希望当值为空时,它不会填充表中的值
array('id_kegiatan'=>'','id_siswa'=>'','id_bulan'=>'','nominal'=>''),
如何掌握?
答案 0 :(得分:0)
如果我正确理解了您的问题,您只想为已填充某些值的记录创建一行。
要实现这一点,请使用array_filter
仅获取具有某些值的记录:
$records = [
['some' => '1', 'key' => '2'],
['some' => '3', 'key' => '4'],
['some' => '', 'key' => ''],
];
$records = array_filter($records, function ($record) {
return count(array_filter($record));
});
DB::table('table_name')->insert($records);