Php 在Laravel中手动注册用户
是否可以手动注册用户(使用artisan?),而不是通过auth注册页面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') !=
我只需要几个用户帐户,不知道是否有一种方法可以创建这些帐户,而不必设置注册控制器和视图。是的,您可以轻松地编写数据库并以这种方式为您的用户设置种子。是的,最好的选择是创建种子机,这样您就可以始终重用它 例如,这是我的
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();