lew*_*s4u 2 laravel laravel-5 laravel-seeding laravel-migrations
我有一些必须在表中的数据,以便我的应用程序工作,否则我收到一条错误消息.
例如,如果你或其他任何人从github拉我的应用程序,如果你运行php artisan migrate然后尝试测试应用程序你会得到一个错误:数据不存在或类似的东西.这是因为表中没有数据.
理想的解决方案是运行后:
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
您还可以在该表中获得所需的数据.
这应该用播种机以某种方式完成,但我不知道如何.任何人都可以帮忙并举个例子吗?
如何为应该进入car_company表的数据制作种子:
id car_company
1大众汽车
2辆梅赛德斯
3奥迪
4保时捷
有4行,我想在运行后插入它们
php artisan db:seed
Run Code Online (Sandbox Code Playgroud)
首先运行以下命令:
php artisan make:播种机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);
}
Run Code Online (Sandbox Code Playgroud)
还有另一个类class DatabaseSeeder在数据库\种子中扩展了Seeder.在类中有一个函数run().在那里添加以下代码:
public function run()
{
Model::unguard();
$this->call(CarCompanyTableSeeder::class);
Model::reguard();
}
Run Code Online (Sandbox Code Playgroud)
现在,当你运行php artisan db:seed时,那里会插入你想要的值.
| 归档时间: |
|
| 查看次数: |
1169 次 |
| 最近记录: |