是否可以手动注册用户(使用artisan?),而不是通过auth注册页面?
我只需要几个用户帐户,并且想知道是否有一种方法可以创建这些帐户而不必设置注册控制器和视图。
是否可以手动注册用户(使用artisan?),而不是通过auth注册页面?
我只需要几个用户帐户,并且想知道是否有一种方法可以创建这些帐户而不必设置注册控制器和视图。
Answers:
我认为您想一次性执行此操作,因此不需要像创建Artisan命令之类的东西。我建议简单地使用php artisan tinker
(出色的工具!)并为每个用户添加以下命令:
$user = new App\User();
$user->password = Hash::make('the-password-of-choice');
$user->email = 'the-email@example.com';
$user->name = 'My Name';
$user->save();
$user->name = 'John Doe';
之前使用该save()
行。
$user->username = 'my username';
之前设置用户名$user->save()
是的,最好的选择是创建一个播种器,以便您始终可以重复使用它。
例如,这是我的UserTableSeeder
:
class UserTableSeeder extends Seeder {
public function run() {
if(env('APP_ENV') != 'production')
{
$password = Hash::make('secret');
for ($i = 1; $i <= 10; $i++)
{
$users[] = [
'email' => 'user'. $i .'@myapp.com',
'password' => $password
];
}
User::insert($users);
}
}
创建此播种器之后,必须运行composer dumpautoload
,然后在其中database/seeds/DatabaseSeeder.php
添加以下内容:
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('UserTableSeeder');
}
}
现在,您终于可以在php artisan db:seed --class=UserTableSeeder
每次需要在表中插入用户时使用了。