I have an array of $articles like this
[ (int) 0 => [ 'id' => ' -@940039 ', 'xe_dsca' => 'รP2768G/1', 'xe_citg' => '1F0200', 'xe_cuni' => 'stk', 'xe_seak' => 'รP2768G/1', 'xe_seab' => '', 'xe_wght' => '0.0153', 'xe_cwun' => 'kg', 'xe_wgap' => '2', 'xe_seri' => '2', 'xe_ltct' => '2', 'xe_qual' => '2', 'xe_hama' => '2', 'xe_ctyo' => 'DE', 'xe_ccde' => '85045095', 'xe_cpln' => '240000', 'xe_spar' => '2', 'xe_wear' => '2', 'xe_ctyo_de' => null, 'xe_cean' => null, 'xe_ewm_dsce' => null, 'xe_cood' => null, 'xe_ewm_dsne' => null, 'xe_ewm_dsge' => null, 'xe_ewm_dsen' => null, 'xe_ewm_dscz' => null, 'xe_wgh1' => null, 'xe_wgh2' => null, 'xe_wgh3' => null ], (int) 1 => [ 'id' => '000-000500-00000', 'xe_dsca' => 'DUMMY ZEITBUCHUNG', 'xe_citg' => '1F0800', 'xe_cuni' => 'stk', 'xe_seak' => 'DUMMY ZEITBUCHUN', 'xe_seab' => '000-000500-00000', 'xe_wght' => '0', 'xe_cwun' => 'kg', 'xe_wgap' => '2', 'xe_seri' => '2', 'xe_ltct' => '2', 'xe_qual' => '2', 'xe_hama' => '2', 'xe_ccde' => '000', 'xe_cpln' => '930000', 'xe_spar' => '2', 'xe_wear' => '2', 'xe_ctyo' => null, 'xe_ctyo_de' => null, 'xe_cean' => null, 'xe_ewm_dsce' => null, 'xe_cood' => null, 'xe_ewm_dsne' => null, 'xe_ewm_dsge' => null, 'xe_ewm_dsen' => null, 'xe_ewm_dscz' => null, 'xe_wgh1' => null, 'xe_wgh2' => null, 'xe_wgh3' => null ]
In my controller, I have these lines
foreach ($articles AS $article) { $query = $this->Articles->query(); $query ->insert($required_article_fields) ->values($article) ->execute(); }
This code works fine, but does anyone have a suggestion about me on how to insert when duplicating a key update? And what's the best way to save multiple rows of data at once?