Php 在Laravel中手动注册用户

Php 在Laravel中手动注册用户,php,laravel,laravel-5,laravel-5.2,Php,Laravel,Laravel 5,Laravel 5.2,是否可以手动注册用户(使用artisan?),而不是通过auth注册页面 我只需要几个用户帐户,不知道是否有一种方法可以创建这些帐户,而不必设置注册控制器和视图。是的,您可以轻松地编写数据库并以这种方式为您的用户设置种子。是的,最好的选择是创建种子机,这样您就可以始终重用它 例如,这是我的usertableeeder: class UserTableSeeder extends Seeder { public function run() { if(env('APP_ENV') !=

是否可以手动注册用户(使用artisan?),而不是通过auth注册页面


我只需要几个用户帐户,不知道是否有一种方法可以创建这些帐户,而不必设置注册控制器和视图。

是的,您可以轻松地编写数据库并以这种方式为您的用户设置种子。

是的,最好的选择是创建种子机,这样您就可以始终重用它

例如,这是我的
usertableeeder

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);
    }
}

现在,每次需要在表中插入用户时,您都可以使用php artisan db:seed--class=UserTableSeeder。

您可以使用生成两个用户帐户来使用它。编写一个播种器也可以完成这项工作。

我认为您希望一次性完成这项工作,因此不需要创建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();

这是一篇老文章,但如果有人想使用命令行,在Laravel 5.*中,这是一个简单的方法:

php artisan tinker
然后键入(替换为您的数据):

php工匠修补匠

$user = new App\User();
$user->password = Hash::make('the-password-of-choice');
$user->email = 'the-email@example.com';
$user->name = 'My Name';
$user->save();

不,这不是artisan命令。这是一个工匠的命令。是的,这是一个很好的禅。谢谢@maiorano84这是L5中的这个包(laravel/framework/composer.json),如果您的项目也需要名称,请使用
$user->name='John Doe'行
保存()
行之前。您可能还需要设置用户名
$user->username='我的用户名'
$user->save()之前
Laravel 8:
$user=new App\Models\user()通过修补程序。。。php artisan tinkermy laravel版本为5.4,不需要“composer dumpautoload”,甚至不需要在DatabaseSeeder中调用UserTableSeeder。在创建了类“UserTableSeeder”作为您的类之后,刚刚使用了命令“php artisan db:seed--class=UserTableSeeder”。这是2016年Laravel 5.2所需要的。请注意,如果您使用的是这样的种子程序(出于重用的目的),那么使用此解决方案,您最需要将密码以明文形式存储在git repo中。小心操作,将密码提取到环境变量中。
DB::table('users')->insert(['name'=>'MyUsername','email'=>'thisis@myemail.com','password'=>Hash::make('123456')])
$user = new App\User();
$user->password = Hash::make('the-password-of-choice');
$user->email = 'the-email@example.com';
$user->name = 'My Name';
$user->save();