Вручную зарегистрировать пользователя в Laravel
Можно ли вручную зарегистрировать пользователя (с помощью мастера?), а не через страницу регистрации авторизации?
Мне нужно только несколько учетных записей пользователей и задалось вопросом, есть ли способ их создания без необходимости настройки контроллеров регистрации и представлений.
Ответы
Ответ 1
Я думаю, что вы хотите сделать это один раз, поэтому нет необходимости в том, чтобы что-то вроде создания команды Artisan и т.д. Я бы предложил просто использовать php artisan tinker
(отличный инструмент!) и добавить следующие команды для каждого пользователя
$user = new App\User();
$user->password = Hash::make('the-password-of-choice');
$user->email = '[email protected]';
$user->save();
Ответ 2
Да, вы можете легко написать базу данных сеялка и таким образом засеять своих пользователей.
Ответ 3
Да, лучший вариант - создать сеялку, чтобы вы всегда могли ее повторно использовать.
Например, это мой 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
каждый раз, когда вам нужно вставлять пользователей в таблицу.
Ответ 4
Вы можете использовать "Фабрики моделей" , чтобы создать пару учетных записей пользователей для его работы. Запись сеялки также выполнит задание.
Ответ 5
Это старый пост, но если кто-то захочет сделать это с помощью командной строки, в Laravel 5. *, это простой способ:
php artisan tinker
затем введите (замените ваши данные):
DB::table('users')->insert(['name'=>'MyUsername','email'=>'[email protected]','password'=>Hash::make('123456')])