laravel中不通过注册页面直接通过命令行实现用户的注册如何实现

laravel中不通过注册页面直接通过命令行实现用户的注册如何实现

阅读 2.9k
3 个回答

自己写个Command 然后 php artisan user:create username password

分别把两种方式都写出来吧;
第一种是手动创建用户名密码;
第二种是自动创建随机的用户名;
直接上代码了;

/database/seeds/UserTableSeeder.php 文件中写如下内容

<?php

use Illuminate\Database\Seeder;

class UserTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        DB::table('users')->delete();
        // 手动创建2个用户 创建更多的以此类推
        DB::table('users')->insert(array (
            0 =>
                array (
                    'id' => 1,
                    'name' => 'baijunyao',
                    'email' => 'baijunyao@baijunyao.com',
                    'password' => bcrypt(123456),
                    'remember_token' => NULL,
                    'created_at' => '2016-12-20 12:49:00',
                    'updated_at' => '2016-12-20 12:49:00',
                ),
            1 =>
                array (
                    'id' => 2,
                    'name' => 'test',
                    'email' => 'test@baijunyao.com',
                    'password' => bcrypt(123456),
                    'remember_token' => NULL,
                    'created_at' => '2016-12-20 12:49:00',
                    'updated_at' => '2016-12-20 12:49:00',
                )
        ));
        // 自动创建200个账号 个数可以指定 
        factory(App\User::class, 200)->create();
    }
}

如果要自动创建账号,则要在 /database/factories/ModelFactory.php文件中写如下内容:

<?php

/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/

/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => $password ?: $password = bcrypt('123456'),
        'remember_token' => str_random(10)
    ];
});

然后命令行运行填充:

php artisan db:seed

这里是用 laravel5.3示例的 更详细的或者其他版本可以参考手册 数据填充 :

中文:http://laravelacademy.org/pos...

英文:https://laravel.com/docs/5.3/...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题