Возможно ли вручную зарегистрировать пользователя (с помощью мастера?), А не через страницу регистрации авторизации?
Мне нужно всего лишь несколько учетных записей пользователей и задалось вопросом, есть ли способ их создания без необходимости устанавливать контроллеры регистрации и представления.
Я думаю, что вы хотите сделать это раз и навсегда, так что нет необходимости в том, чтобы создать что-то вроде создания команды Artisan и т. Д. Я бы предложил просто использовать php artisan tinker
(отличный инструмент!) И добавить следующие команды для каждого пользователя:
$user = new App\User(); $user->password = Hash::make('the-password-of-choice'); $user->email = 'the-email@example.com'; $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
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
каждый раз, когда вам нужно вставлять пользователей в таблицу.
Вы можете использовать модельные фабрики для создания пары учетных записей пользователей для ее работы. Написание сеялки также выполнит свою работу.