我有一些必须在表格中的数据,以便我的应用程序正常工作,否则我会收到错误消息。
例如,如果你或其他任何人从github拉我的应用程序,如果你运行php artisan migrate然后尝试测试应用程序你会收到一个错误: 数据不存在或类似的东西。 它是因为表格中没有数据。
理想的解决方案是跑完后:
php artisan migrate
您还可以在该表中获得所需的数据。
这应该以播种机的某种方式完成,但我不知道如何。任何人都可以帮忙并举个例子吗?
如何为应该进入car_company表的数据制作种子:
id car_company
1 Volkswagen
2梅赛德斯
3奥迪
4保时捷
有4行,我想在运行
后插入它们 php artisan db:seed
答案 0 :(得分:6)
首先运行以下命令:
php artisan make:seeder CarCompanyTableSeeder 。这将在数据库\种子中创建类 CarCompanyTableSeeder 。
在功能公共功能运行()内,请添加以下代码:
public function run()
{
$data = array(
array(
'id' => 1,
'car_company' => 'Volkswagen'
),
array(
'id' => 2,
'car_company' => 'Mercedes'
),
array(
'id' => 3,
'car_company' => 'Audi'
),
array(
'id' => 4,
'car_company' => 'Porsche'
)
);
DB::table('car_company')->insert($data);
}
数据库\种子中有另一个类类DatabaseSeeder扩展Seeder 。在课堂内有一个函数 run()。在那里添加以下代码:
public function run()
{
Model::unguard();
$this->call(CarCompanyTableSeeder::class);
Model::reguard();
}
现在,当您运行 php artisan db:seed 时,您的所需值将会插入其中。
答案 1 :(得分:0)
运行php artisan migrate
后,您需要运行php artisan db:seed
,
要将种子写入数据库,您可以按照以下说明操作:https://laravel.com/docs/5.2/seeding#using-model-factories
另一个有用的包是:https://github.com/fzaninotto/Faker,帮助你伪造数据到数据库。
答案 2 :(得分:0)
目前,在这种情况下,我使用数据库迁移。您不需要在迁移中仅创建数据库结构,但您也可以在迁移中将数据添加到数据库,因此应该运行php artisan migrate
来创建数据库结构并在数据库中创建所需的数据。 / p>