Вручную зарегистрировать пользователя в 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')])