Laravel 5播种机 - DB中的多行

nie*_*lsv 6 php mysql row laravel laravel-5.1

我想知道是否可以像这样插入多行(或类似的东西):

<?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'
            ]
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

我的数据库中有一个表设置,其中包含列键和值.

上面代码的问题是他只插入第一个......

Chr*_*sen 31

您需要将数组包装在另一个数组中,因此它看起来像这样:

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

注意包装数组.

你现在正在做的是实际上向该insert()方法发送两个单独的数组.