我在这个兔子洞的深处。这个问题实际上是让我的Laravel应用程序正常运行的更大问题的一部分。如果您想了解有关我的麻烦的更多信息,请点击此处链接到另一个问题:Model, Database Error in Laravel。
所以,现在我正在尝试使用数据库浏览器软件包Faker来填充我的数据库。我已经正确安装了它,但是我无法在User表之外使它工作。这是我为UserTableSeeder提供的内容:
class UserTableSeeder extends Seeder {
public function run()
{
$faker = Faker\Factory::create();
for ($i = 0; $i < 100; $i++)
{
User::create(
[
'id' => $faker->randomDigit,
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->freeEmail,
'notify' => $faker->randomElement($array = ['y', 'n']),
'created_at' => $faker->dateTime($max = 'now'),
'updated_at' => $faker->dateTime($max = 'now')
]
);
}
}
}
当我运行php artisan db:seed
时,这是半工作;它只创造了十几行左右。我的用户表有七列:
id(其类型为整数),
如first_name(VARCHAR),
姓氏(VARCHAR),
电子邮件(VARCHAR),
通知(枚举),
created_at(时间戳),
和updated_at(时间戳)
任何能够正确处理此问题或作为类似表格模板的代码都将非常感激。谢谢大家。
答案 0 :(得分:2)
'id' => $faker->randomDigit
可能导致ID冲突(我打赌你会得到10行,而不是12行,因为有10个可能的数字)。请改为$faker->randomNumber
。
答案 1 :(得分:0)
迁移:$ table-&gt;增量(&#39; id&#39;);
有了这个,你不需要在ID上设置任何值,你将避免id碰撞