我正在使用Laravel 5.6并且具有多身份验证功能,并且工作正常。我的数据库中有用户和管理表。如何在管理表上设置默认值,如名称、电子邮件和密码?所以每次我运行php artisan migrate:refresh
时,我都会在管理表中拥有默认的名称电子邮件和密码?谢谢!
没有一点澄清,你的问题有两种可能的答案。如果您询问数据库中表中具有默认值的列,这已经得到了回答,但只需将方法default
链接到您的属性上即可。
$table->tinyInteger('status')->default('1');
如果询问在迁移刷新时填充数据库中的行。您可以使用播种机:
Laravel包括一种使用测试为数据库播种的简单方法 使用种子类的数据。所有种子类都存储在
database/seeds
目录。种子类可以有你想要的任何名称,但是 可能应该遵循一些明智的惯例,例如UsersTableSeeder
等。默认情况下,定义DatabaseSeeder
类 给你的。从这个类中,你可以使用call
方法来运行其他 种子类,允许您控制种子顺序。
<?php
use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('users')->insert([
'name' => 'default_name',
'email' => 'default@mail.com',
'password' => 'password',
]);
}
}
之后只需致电:
php artisan migrate:refresh --seed