我想使用播种机为多行种子数据库:
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文档缺少这种信息。请帮忙!
答案 0 :(得分: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('users')->insert($mul_rows);
if($insert){
//success message here
}else{
//Failure message here
}
}
答案 1 :(得分:1)
通过聊天,我们发现实际上正在插入这些行,但是当通过w / e工具调用DB时,OP正在使用的只是一次返回1个结果,这使得它显示出来。
对于使用Sequel Pro(https://sequelpro.com/)的其他用户,我建议查看表格视图而不是运行查询,因为这可能会产生误导。不完全确定,但我们认为它在查询结尾添加了1的限制。