Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static function insertOrUpdateBatch(string $tableName, array $rows){
- $first = reset($rows);
- $columns = implode( ', ',
- array_map( function( $value ) { return "$value"; } , array_keys($first) )
- );
- $values = implode( ', ', array_map( function( $row ) {
- return '('.implode( ', ',
- array_map( function( $value ) { return '"'.str_replace('"', '""', $value).'"'; } , $row )
- ).')';
- } , $rows )
- );
- $updates = implode( ', ',
- array_map( function( $value ) { return "$value = VALUES($value)"; } , array_keys($first) )
- );
- $sql = "INSERT INTO {$tableName}({$columns}) VALUES {$values} ON DUPLICATE KEY UPDATE {$updates}";
- return \DB::statement( $sql );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement