作为程序员一定要保持良好的睡眠,才能好编程

laravel-adminlte-templates脚手架部署

发布时间:2021-03-01


Laravel集成文档:


https://labs.infyom.com/laravelgenerator/docs/7.0/installation


一、引入composer包

"infyomlabs/laravel-generator": "7.0.x-dev",
"laravelcollective/html": "^6.1",
"infyomlabs/adminlte-templates": "7.0.x-dev",
"doctrine/dbal": "~2.3",


image.png



二、修改config/app.php

'Form'      => Collective\Html\FormFacade::class,
'Html'      => Collective\Html\HtmlFacade::class,
'Flash'     => Laracasts\Flash\Flash::class,


image.png


Update API Routes


protected function mapApiRoutes()
{
    Route::prefix('api')
        ->middleware('api')
        ->as('api.')
        ->namespace($this->namespace."\\API")
        ->group(base_path('routes/api.php'));
}


image.png




发布配置


php artisan infyom:publish


image.png


image.png



打开web.php


image.png






php artisan infyom.publish:layout


执行 php artisan migrate  创建数据库表 


这里面有一个坑,默认情况下,你是执行不成功的,需要将表结构进行如下设置。打开 database/migrations



2014_10_12_000000_create_users_table 改成如下配置:


Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name',255);
    $table->string('email',50)->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('password',255);
    $table->rememberToken();
    $table->timestamps();
});



2014_10_12_100000_create_password_resets_table

public function up()
{
    Schema::create('password_resets', function (Blueprint $table) {
        $table->string('email', 100)->index();
        $table->string('token', 255);
        $table->timestamp('created_at')->nullable();
    });
}






通过PHP脚本的形式启动项目


image.png




我们已经看到页面了,登录之前,先去注册一下。

image.png









脚本:

https://labs.infyom.com/laravelgenerator/docs/7.0/generator-options


Generate From Table
  
php artisan infyom:scaffold $MODEL_NAME --fromTable --tableName=$TABLE_NAME




Generate from specific connection (database)

php artisan infyom:scaffold $MODEL_NAME --fromTable --tableName=$TABLE_NAME --connection=connectionName



Skip File Generation  可以指定skip选项来跳过将不生成的文件

php artisan infyom:api_scaffold Post --skip=routes,migration,model






从json文件中生成

php artisan infyom:scaffold $MODEL_NAME --fieldsFile=./resources/model_schemas/AdmissionAssessmentRecord.json

php artisan infyom:scaffold Aab --fieldsFile=./resources/model_schemas/AdmissionAssessmentRecord.json


在 config\infyom\laravel_genertor.php 中有一个 schema_files 参数,定义了 schema 配置文件存放位置,一般都在 resources/model_schemas/

在这个文件夹里新增一个 PostSchema.json 的文件。配置内容稍后讲解。

配置完成以后,执行命令


php artisan infyom:scaffold Aab --fieldsFile=./resources/model_schemas/AdmissionAssessmentRecord.json


配置简易说明


namedescription

name数据库字段名称

dbType数据库字段类型,例如:string:nullable:comment,' 密码混淆'

htlmType输入类型

validationsrequests 验证内容、下面会给案例

searchable搜索

fillablecreate 的时候允许插入的字段

primary主键

inForm在表单中出现(猜测)

inIndex可以搜索(猜测)

typerelation 模型关系

relation1tm 就是 1 对多咯,mtm 多对多,然后是关系连接字段


image.png



image.png




删除


如果觉得生成的数据有问题

可以执行回滚,这样会删除所有生成的文件。


php artisan infyom:rollback Post api