laravel实战项目之管理员表设计

256 阅读1分钟

一、 管理员表设计

创建用户表:

1.1、创建迁移文件和模型:

php artisan make:model Models/User -m 在这里插入图片描述


1.2、创建用户表字段:

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('username', 50) -> comment('账号');
            $table->string('password', 255) -> comment('密码');
            $table->string('email', 50)->comment('邮箱');
            $table->string('phone', 15)->comment('手机');
            $table->enum('sex', ['0','1'])->default('0')->comment('性别');
            $table->char('last_ip', 15)->default('')->comment('登录IP');
            $table->timestamps();
            // 软删除 生成一个字段 deleted_at 字段
            $table->softDeletes();
        });
    }

在这里插入图片描述


1.3、执行迁移文件:

php artisan migrate 在这里插入图片描述 在这里插入图片描述


1.4、修改模型:

在这里插入图片描述


1.5、创建填充器:

php artisan make:seeder UserSeeder 在这里插入图片描述 在这里插入图片描述


1.6、创建模拟数据:

生成一个数据工厂: php artisan make:factory UserFactory -m Models/User 在这里插入图片描述在这里插入图片描述


添加模拟数据:

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Models\User;
use Faker\Generator as Faker;

$factory->define(User::class, function (Faker $faker) {
    return [
        'username' => $faker -> username,
        'password' => bcrypt('admin12345'),
        'email' => $faker -> email,
        'phone' => $faker -> phoneNumber,
        'sex' => ['0', '1'][rand(0,1)],
    ];
});

在这里插入图片描述


接着在UserSeeder.php当中添加100条数据:

<?php

use Illuminate\Database\Seeder;
// 用户模型
use App\Models\User;

class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // 清空数据表
        User::truncate();
        //添加模拟数据 100用户
        factory(User::class,100) -> create();
        // 规定id=1的用户名为admin
        User::where('id',1)->update(['username' => 'admin']);
    }
}

在这里插入图片描述


DatabaseSeeder.php中调用生成管理员数据表:

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call(UserSeeder::class);
    }
}

在这里插入图片描述


执行填充: php artisan db:seed 在这里插入图片描述 在这里插入图片描述

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。