2017-04-21 4 views
-1

Ich habe einen SQL-Befehl wie folgt aus:wenn in Array, wenn der Wert null

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'=>''), 
    )); 

Ich möchte, wenn der Wert leer ist, ist es nicht in dem Wert in der Tabelle füllt

array('id_kegiatan'=>'','id_siswa'=>'','id_bulan'=>'','nominal'=>''), 

Wie man es meistert?

Antwort

0

Wenn ich Ihre Frage richtig verstanden habe, möchten Sie nur eine Zeile für Datensätze erstellen, für die einige ihrer Werte gefüllt sind.

Um das zu erreichen, verwenden Sie array_filter nur diejenigen Datensatz zu erhalten, die einige Werte haben:

$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); 
+0

Okay, danke Meister, sehr hilfreich –

+0

Die Antwort sehr richtig Herr ist, dann ist dies meine nächste Frage, wie man die zu bearbeitende Schnittstelle mit dem oben erklärten Befehl anzeigen? Beispiel >


Wie ID_siswa und id_bulan Wert erhalten, während id_kegiatan und Nennwert ist anders? –

+0

Why Fehler? Konvertierung von Array zu String (SQL: Einfügen in 'tb_angsuran_lainlain' (' id_bulan', 'id_kegiatan',' id_siswa', 'nominal') Werte (1, 1, 67540, 100000), (1, 1, 67540, 100000) (1, 1, 67540, 100000), (1, 1, 67540, 100000)) –

Verwandte Themen