我有一些数据必须在表中才能使我的应用运行,否则我会收到一条错误消息。
例如,如果您或其他任何人从 github 中提取我的应用程序,并且如果您运行 php artisan migrate 然后尝试测试该应用程序,您将收到错误消息: 数据不存在或类似的东西。 这是因为表中没有数据。
所以理想的解决方案是在运行之后:
php artisan migrate
您还可以在该表中获得所需的数据。
这应该用播种机以某种方式完成,但我不知道怎么做。谁能帮我举个例子?
如何为应该进入 car_company 表的数据制作种子:
id car_company
1 大众汽车
2 奔驰
3辆奥迪
4 保时捷
有4行,我想在运行后插入它们
php artisan db:seed
最佳答案
首先运行以下命令:
php artisan make:seeder CarCompanyTableSeeder。这将在 database\seeds 中创建类 CarCompanyTableSeeder。
在函数 public function run() 中请添加以下代码:
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);
}
在database\seeds中还有一个类class DatabaseSeeder extends Seeder。在类内部有一个函数run()。在此处添加以下代码:
public function run()
{
Model::unguard();
$this->call(CarCompanyTableSeeder::class);
Model::reguard();
}
现在,当您运行 php artisan db:seed 时,您想要的值将被插入其中。
关于Laravel 5 - 如何在部署应用程序后自动播种表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39180882/