Laravel 问题中将插入查询与多个值绑定

Att*_*ghi 5 php mysql laravel

我按照文档进行操作

我有一个插入语句:

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);
Run Code Online (Sandbox Code Playgroud)

我有一个包含多个值的插入查询,所以我尝试了以下操作:

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle'], (?, ?)', [2, 'Jimmy'], (?, ?)', [3, 'John']);
Run Code Online (Sandbox Code Playgroud)

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle'], [2, 'Jimmy'], , [3, 'John']);
Run Code Online (Sandbox Code Playgroud)

他们都没有工作:(

我究竟做错了什么 ?谢谢

Ale*_*nin 4

您的查询看起来不错并且对我有用。但如果你想避免这种问题,你应该使用查询生成器

DB::table('users')->insert([
    ['name' => 'Dayle'],
    ['name' => 'John'],
]);
Run Code Online (Sandbox Code Playgroud)

或者雄辩

User::create([
    ['name' => 'Dayle'],
    ['name' => 'John'],
]);
Run Code Online (Sandbox Code Playgroud)

如果出于某种原因你想使用DB::insert(),这有效:

DB::insert('insert into users (name) values ("Dayle"), ("Jimmy")');
Run Code Online (Sandbox Code Playgroud)

并使用绑定:

DB::insert('insert into users (name) values (?), (?)', ['Dayle', 'Jimmy'])
Run Code Online (Sandbox Code Playgroud)