为 Laravel 迁移设置默认值



我正在使用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

最新更新