这是我在下面的播种机课程
A B C D
0 1 96 12 apples
2 3 45 15 peaches
4 5 8 42 pears
这是我的levelseeder课程:
<?php
use Illuminate\Database\Seeder;
class RequestTableSeeder extends Seeder
{
public function run()
{
$faker = Faker\Factory::create();
for($i=1;$i<=5;$i++){
DB::table('requests')->insert([
"location_id"=>$faker->numberBetween(1,5),
"level_id"=>$faker->numberBetween(0,1),
"subject_id"=>$faker->numberBetween(0,1),
"first_name"=>$faker->firstName,
"last_name"=>$faker->lastName,
"contact"=>$faker->unique()->phoneNumber,
"email"=>$faker->unique()->email,
"description"=>$faker->text(1000),
]);
}
}
}
当我尝试从命令中获取种子时:
<?php
use Illuminate\Database\Seeder;
class SubjectTableSeeder extends Seeder
{
public function run()
{
$faker = Faker\Factory::create();
for($i=1;$i<=5;$i++)
{
DB::table('subjects')->insert([
"name"=>$faker->text(5),
]);
}
}
}
我还查看了我的主题播种员课程。但是我找不到错误。This are my seeder class
答案 0 :(得分:0)
您正在尝试插入引用level_id
表格中不存在的行的level
!
为了实现这一点,您的level
表格需要至少有5条记录,其中id
为1,2,3,4,5
如果你这样做,也许你的播种者的顺序是错误的。确保LevelTableSeeder
在RequestTableSeeder
之前运行。
此外,subject_id
似乎很可能在接下来失败。使用 foreign keys 时,这是用于确保数据库完整性的行为。