laravel 05

注册与登录

  • 密码加密 $data['password'] = bcrypt($data['password']);
  • 新增数据 User::create($data);
  • 自动登录 \Auth::attempt(['email' => $request->email, 'password' => $request->password]);
  • 退出 \Auth::logout();

Laravel Thinker 的使用

在命令行执行laravel简单代码, 包括但不限于创建模型,测试等

  1. // 命令行执行
  2. php artisan tinker
  3. // eg: 创建一条记录
  4. use App\User;
  5. User::create(['name' => 'sun','email' => 'sun@qq.com','password' => bcrypt('123456')]);

Laravel Seeder 的使用

Seeder 类可以用于数据填充

  1. 命令行执行 php artisan make:seeder UserSeeder , 此命令自动创建 database/seeds/UserSeeder.php 文件
  2. 简单编辑此文件
// 写入一条记录
public function run()
{
    \App\User::create([
        'name' => 'sun',
        'email' => 'sun@qq.com',
        'password' => bcrypt('123456')
    ]);
}
  1. 去 database/seeds/DatabaseSeeder.php 注册
public function run()
{
    // $this->call(UsersTableSeeder::class);
    $this->call(UserSeeder::class);
}
  1. 运行 Seeder, php artisan db:seed, 查看数据库,就多了一条数据

Factory 模型工厂

开源的 Faker 库可以帮助我们快速生成数据, 参考 database/factories/UserFactory.php 文件

在 tinker 中试一试

  • php artisan tinker 启动 tinker
  • factory(App\User::class, 10)->make() 生成10条数据 未储存 数据库
  • factory(App\User::class, 10)->create() 生成10条数据 并储存 数据库

结合 Seeder 使用

  • 修改 database/seeds/UserSeeder.php 文件
public function run()
{
    factory(\App\User::class, 100)->create();
}
  • 执行 php artisan db:seed
  • 成功

问题: 新增自己的测试账号

  • 执行数据迁移,数据自增从 1 开始 php artisan migrate:refresh 其实是删除表又新建了
  • 修改 UserSeeder.php
public function run()
{
    factory(\App\User::class, 100)->create();
    // 定义自己的测试账户
    $user = \App\User::find(1);
    $user->name = 'vdong';
    $user->email = 'sunvdong@qq.com';
    $user->password = bcrypt('123456');
    $user->save();
}
  • 再执行 php artisan db:seed
  • 命令可以合并 php artisan migrate:refresh --seed