PHP:Laravel简单搭建和数据填充

一:安装及注意事项

  参考:https://learnku.com/laravel/docs

  注意:需要安装composer, 注意php版本要求,php一些扩展

composer create-project --prefer-dist laravel/laravel blog  -- composer 安装代码

  如果是git源码直接使用的请注意执行:

php artisan key:generate

  安装一个开发帮助组件包

cd blog # 进入项目
composer require --dev barryvdh/laravel-ide-helper # 安装包
php artisan ide-helper:gen # 生成提示帮助文件

 

二:配置文件

  配置文件位于config目录下,例如database.php ,里面调用的env文件,直接找到.env文件修改配置即可。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=

  这里修改下app.php几个常用配置,时区和提示语言

'timezone' => 'PRC',
'locale' => 'zh_CN', # 这里的语言包需要去github下载到resouce/lang里面 https://github.com/Laravel-Lang/lang/tree/master/src
'faker_locale' => 'zh_CN',

 

三:数据填充

  这里数据填充使用的faker组件

  1、先删除掉model,database/factories,database/migrations 下附带的测试文件 。

  2、配置好数据库。

  3、创建数据表模型文件和迁移文件

php artisan make:model User -m

# 这里补充一个不错的方法,可以同时创建模型控制器和迁移文件

php artisan make:model User -m -c -r

  4、修改位于database/migrations下的迁移文件代码

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('username',50)->comment('用户名');
            $table->string('truename',50)->default('')->comment('真实姓名');
            $table->string('password',255)->comment('密码');
            $table->string('email',50)->nullable()->comment('邮箱');//nullable() 可以为空
            $table->enum('sex',['先生','女士'])->default('先生')->comment('性别');//default()默认值
            $table->softDeletes();# 生成一个软删除 deleted_at
            $table->timestamps();
        });
    }

  5、执行该迁移文件,这时候数据就有生成表了

php artisan migrate 
php artisan migrate:refresh # 重新加载,每次修改迁移文件请重新加载

  6、创建数据填充文件和数据工厂

php artisan make:seeder UserSeeder  # 创建seeder文件
php artisan make:factory User  # 创建一个数据工厂

  7、修改数据工厂UserFactory类代码

public function definition()
    {
        return [            'username' => $this->faker->userName,
            'truename' => $this->faker->name,
            'password' => bcrypt('123456'),
            'email'=> $this->faker->email,
            'sex' => ['先生','女士'][rand(0,1)]
            
        ];
    }
// facker 参考https://packagist.org/packages/fzaninotto/faker

  8、修改数据填充类UserSeeder代码

 public function run()
    {
        //清空数据
        User::truncate();
        //创建100个模拟数据
        User::factory(100)->create();
    }

  9、修改database/seeders下的主调类DatabaseSeeder代码

 public function run()
    {
        // \App\Models\User::factory(10)->create();
        $this->call(UserSeeder::class);
    }

  10、执行填充命令, 等待一会查看数据库数据有了

php artisan db:seed

 

四:监控输出查看构造sql

  在服务提供者 AppServiceProvider 里的boot下面添加

 public function boot()
    {
        DB::listen(function($sql){
            dump($sql);
        });
    }
posted @ 2020-11-19 15:39  wish_yang  阅读(278)  评论(0编辑  收藏  举报