簡體   English   中英

拉拉維爾。 數據庫播種機多行不工作

[英]Laravel. Database seeder multiple rows not working

我想用播種機為數據庫播種多行:

public function run()   {
    DB::table('users')->insert([

        [
            'name' => 'Guest',
            'surname' => 'Guest',
            'email' => 'guest@domain.com',
            'phone' => '+777',
            'password' => bcrypt('password'),
            'is_admin' => false,
        ],
        [
            'name' => 'Alexander',
            'surname' => 'Jones',
            'email' => 'asd@asd.com',
            'phone' => '+12321321312',
            'password' => bcrypt('password'),
            'is_admin' => true,
        ]

    ]);

但是,當我運行php artisan db:seed ,它只在第一行播種。 如何為多行制作播種機? L5.2 文檔缺少此類信息。 請幫忙!

Try this once..

$mul_rows= [
    [ 'name' => 'Guest',
            'surname' => 'Guest',
            'email' => 'guest@domain.com',
            'phone' => '+777',
            'password' => bcrypt('password'),
            'is_admin' => false,],
    [  'name' => 'Alexander',
            'surname' => 'Jones',
            'email' => 'asd@asd.com',
            'phone' => '+12321321312',
            'password' => bcrypt('password'),
            'is_admin' => true,]
];

foreach ($mul_rows as $rows) {
   //$insert = DB::table('departments')->insert($mul_rows); old
   $insert= DB::table('users')->insert($rows);
if($insert){
//success message here
}else{
//Failure message here
}
}

通過聊天,我們發現實際上正在插入行,但是當通過 w/e 工具調用數據庫時,OP 使用的每次只返回 1 個結果,這使得它出現。

對於使用 Sequel Pro ( https://sequelpro.com/ ) 的其他用戶,我建議查看表視圖而不是運行查詢,因為這可能會產生誤導。 不完全確定,但我們認為它在查詢末尾添加了 1 的限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM