如果在数组中,则值为null

时间:2017-04-21 02:43:28

标签: sql arrays laravel laravel-5

我有一个类似以下的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'=>''),

如何掌握?

1 个答案:

答案 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);