diff --git a/framework/db/QueryBuilder.php b/framework/db/QueryBuilder.php index fd1b163aa90..74af4c549d9 100644 --- a/framework/db/QueryBuilder.php +++ b/framework/db/QueryBuilder.php @@ -475,7 +475,9 @@ public function batchInsert($table, $columns, $rows, &$params = []) if (isset($columns[$i], $columnSchemas[$columns[$i]])) { $value = $columnSchemas[$columns[$i]]->dbTypecast($value); } - if (is_string($value)) { + if (is_array($value)) { + $value = json_encode($value); + } elseif (is_string($value)) { $value = $schema->quoteValue($value); } elseif (is_float($value)) { // ensure type cast always has . as decimal separator in all locales