我想要
我正在使用 laravel 5.7 创建一个项目,并且需要让用户成为admin,并且我没有单独的表单,并且我只能以users
的身份进行1次迁移,我实现一个人可以成为管理员?
我做到了
我在user migration
中做出了一个条件,即如果用户拥有id == 1
然后更新is_admin = 1
,但是存在一个缺陷,即如果我的网站上的流量很大,那么如果我运行{ {1}},并且在刷新数据库后,如果用户在注册我之前先注册,那么他将成为管理员,这就是我所不需要的。
答案 0 :(得分:1)
在执行了这些步骤之后,要继续回答Ali Ozen的问题...
使用php artisan make:seeder UserSeeder
在种子文件中,在下面添加
use App\User;
User::create(['name' => 'Admin', 'email' => 'admin@example.com', password' => bcrypt('password'), 'is_admin' => 1]);
将 UserSeeder :: class 添加到DatabaseSeeder.php
然后使用
运行迁移php artisan migrate --seed
要刷新运行
php artisan migrate:refresh --seed
答案 1 :(得分:0)
php artisan make:migration add_is_admin_to_users_table --table="users"
之后,打开最新的迁移文件。在功能向上功能中
Schema::table('users', function (Blueprint $table) {
$table->boolean('is_admin')->default(0);
});
写这个。然后运行php artisan迁移。 而已。您不需要刷新。