@@ -3680,10 +3680,6 @@ public function insert($table, $object, $discov_and_resync = true)
36803680 if (!strncmp ($ field ,'qbsql_ ' ,6 )) {
36813681 $ qbsql_fields [] = $ field ;
36823682 $ qbsql_values [] = $ this ->fmtValue ($ field ,$ value );
3683- if ($ field == QUICKBOOKS_DRIVER_SQL_FIELD_ID ) {
3684- $ fields [] = $ field ;
3685- $ values [] = $ this ->fmtValue ($ field ,$ value );
3686- }
36873683 }
36883684 elseif (array_key_exists ($ field ,$ avail )) {
36893685 $ fields [] = $ field ;
@@ -3702,13 +3698,13 @@ public function insert($table, $object, $discov_and_resync = true)
37023698 $ errnum = 0 ;
37033699 $ errmsg = '' ;
37043700
3705- $ sql = "INSERT INTO quickbooks_qbsql ( " .implode (', ' ,$ qbsql_fields ).") VALUES ( " .implode (', ' ,$ qbsql_values ).") " ;
3701+ $ updatesSql = implode (', ' ,array_map (function ($ s ){return "$ s=values( $ s) " ;}, $ qbsql_fields ));
3702+ $ sql = "INSERT INTO quickbooks_qbsql ( " .implode (', ' ,$ qbsql_fields ).") VALUES ( " .implode (', ' ,$ qbsql_values ).") ON DUPLICATE KEY UPDATE $ updatesSql " ;
37063703 if (!$ this ->_query ($ sql , $ errnum , $ errmsg )) return false ;
37073704 $ qbsql_id = $ this ->last ();
37083705
3709- $ fields [] = 'qbsql_id ' ;
3710- $ values [] = $ qbsql_id ;
3711- $ sql = "INSERT INTO $ table ( " .implode (', ' ,$ fields ).") VALUES ( " .implode (', ' ,$ values ).") " ;
3706+ $ updatesSql = implode (', ' ,array_map (function ($ s ){return "$ s=values( $ s) " ;}, $ fields ));
3707+ $ sql = "INSERT INTO $ table ( " .QUICKBOOKS_DRIVER_SQL_FIELD_ID .", " .implode (', ' ,$ fields ).") VALUES ( $ qbsql_id, " .implode (', ' ,$ values ).") ON DUPLICATE KEY UPDATE $ updatesSql " ;
37123708
37133709 return $ this ->_query ($ sql , $ errnum , $ errmsg );
37143710 }
0 commit comments