Skip to content

Commit 4ea9807

Browse files
authored
Revert "Fix: Handle mixed-type values in compileInsert (#53948)" (#54169)
This reverts commit 7d0a3d3.
1 parent 9b5484f commit 4ea9807

File tree

2 files changed

+2
-82
lines changed

2 files changed

+2
-82
lines changed

src/Illuminate/Database/Query/Grammars/Grammar.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,11 +1178,8 @@ public function compileInsert(Builder $query, array $values)
11781178
return "insert into {$table} default values";
11791179
}
11801180

1181-
if (! array_is_list($values)) {
1182-
$values = (new Collection(array_keys($values)))
1183-
->some(fn ($key) => ! is_numeric($key))
1184-
? [$values]
1185-
: array_values($values);
1181+
if (! is_array(reset($values))) {
1182+
$values = [$values];
11861183
}
11871184

11881185
$columns = $this->columnize(array_keys(reset($values)));

tests/Database/DatabaseQueryGrammarTest.php

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
namespace Illuminate\Tests\Database;
44

5-
use Illuminate\Database\ConnectionInterface;
65
use Illuminate\Database\Query\Builder;
76
use Illuminate\Database\Query\Expression;
87
use Illuminate\Database\Query\Grammars\Grammar;
9-
use Illuminate\Database\Query\Processors\Processor;
108
use Mockery as m;
119
use PHPUnit\Framework\TestCase;
1210
use ReflectionClass;
@@ -43,79 +41,4 @@ public function testWhereRawReturnsStringWhenStringPassed()
4341

4442
$this->assertSame('select * from "users"', $rawQuery);
4543
}
46-
47-
public function testCompileInsertSingleValue()
48-
{
49-
$builder = $this->getBuilder();
50-
$grammar = $builder->getGrammar();
51-
52-
$sql = $grammar->compileInsert($builder, ['name' => 'John Doe', 'email' => '[email protected]']);
53-
$this->assertSame('insert into "users" ("name", "email") values (?, ?)', $sql);
54-
}
55-
56-
public function testCompileInsertMultipleValues()
57-
{
58-
$builder = $this->getBuilder();
59-
$grammar = $builder->getGrammar();
60-
$values = [
61-
['name' => 'John Doe', 'email' => '[email protected]'],
62-
['name' => 'Alice Wong', 'email' => '[email protected]'],
63-
];
64-
65-
$sql = $grammar->compileInsert($builder, $values);
66-
$this->assertSame('insert into "users" ("name", "email") values (?, ?), (?, ?)', $sql);
67-
}
68-
69-
public function testCompileInsertSingleValueWhereFirstKeyIsArray()
70-
{
71-
$builder = $this->getBuilder();
72-
$grammar = $builder->getGrammar();
73-
$value = [
74-
'configuration' => [
75-
'dark_mode' => false,
76-
'language' => 'en',
77-
],
78-
'name' => 'John Doe',
79-
'email' => '[email protected]',
80-
];
81-
82-
$sql = $grammar->compileInsert($builder, $value);
83-
84-
$this->assertSame('insert into "users" ("configuration", "name", "email") values (?, ?, ?)', $sql);
85-
}
86-
87-
public function testCompileInsertSingleValueWhereFirstKeyIsNotArray()
88-
{
89-
$builder = $this->getBuilder();
90-
$grammar = $builder->getGrammar();
91-
92-
$value = [
93-
'name' => 'John Doe',
94-
'configuration' => [
95-
'dark_mode' => false,
96-
'language' => 'en',
97-
],
98-
'email' => '[email protected]',
99-
];
100-
101-
$sql = $grammar->compileInsert($builder, $value);
102-
103-
$this->assertSame('insert into "users" ("name", "configuration", "email") values (?, ?, ?)', $sql);
104-
}
105-
106-
protected function getConnection()
107-
{
108-
return m::mock(ConnectionInterface::class);
109-
}
110-
111-
protected function getBuilder($tableName = 'users')
112-
{
113-
$grammar = new Grammar;
114-
$processor = m::mock(Processor::class);
115-
116-
$builder = new Builder($this->getConnection(), $grammar, $processor);
117-
$builder->from = $tableName;
118-
119-
return $builder;
120-
}
12144
}

0 commit comments

Comments
 (0)