Laravel 5 Seeder – несколько рядов в DB

Мне было интересно, можно ли вставить несколько строк, подобных этому (или что-то вроде этого):

<?php use Illuminate\Database\Seeder; class SettingTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('settings')->insert( [ 'key' => 'username', 'value' => 'testusername' ], [ 'key' => 'password', 'value' => 'plain' ] ); } } 

У меня есть параметры таблицы в моей базе данных с ключом и значением столбца.

Проблема с вышеприведенным кодом состоит в том, что он только вставляет первый ….

Вам нужно обернуть ваши массивы в другой массив, чтобы он выглядел так:

 DB::table('settings')->insert([ [ 'key' => 'username', 'value' => 'testusername' ], [ 'key' => 'password', 'value' => 'plain' ] ]); 

Обратите внимание на массив обертывания.

Теперь вы отправляете два отдельных массива в метод insert() .

вы можете использовать метод вставки от красноречивого для массового сохранения, например

 Settings::insert([[ 'key' => 'username', 'value' => 'testusername' ], [ 'key' => 'password', 'value' => 'plain' ]]);