fastadmin学习04-一键crud

FastAdmin 默认内置一个 test 表,可根据表字段名、字段类型和字段注释通过一键 CRUD 自动生成。

sql 复制代码
create table fa_test
(
    id           int unsigned auto_increment comment 'ID' primary key,
    user_id      int(10)                           default 0        null comment '会员ID',
    admin_id     int(10)                           default 0        null comment '管理员ID',
    category_id  int unsigned                      default 0        null comment '分类ID(单选)',
    category_ids varchar(100)                                       null comment '分类ID(多选)',
    tags         varchar(255)                      default ''       null comment '标签',
    week         enum ('monday', 'tuesday', 'wednesday')            null comment '星期(单选):monday=星期一,tuesday=星期二,wednesday=星期三',
    flag         set ('hot', 'index', 'recommend') default ''       null comment '标志(多选):hot=热门,index=首页,recommend=推荐',
    genderdata   enum ('male', 'female')           default 'male'   null comment '性别(单选):male=男,female=女',
    hobbydata    set ('music', 'reading', 'swimming')               null comment '爱好(多选):music=音乐,reading=读书,swimming=游泳',
    title        varchar(100)                      default ''       null comment '标题',
    content      text                                               null comment '内容',
    image        varchar(100)                      default ''       null comment '图片',
    images       varchar(1500)                     default ''       null comment '图片组',
    attachfile   varchar(100)                      default ''       null comment '附件',
    keywords     varchar(255)                      default ''       null comment '关键字',
    description  varchar(255)                      default ''       null comment '描述',
    city         varchar(100)                      default ''       null comment '省市',
    json         varchar(255)                                       null comment '配置:key=名称,value=值',
    multiplejson varchar(1500)                     default ''       null comment '二维数组:title=标题,intro=介绍,author=作者,age=年龄',
    price        decimal(10, 2) unsigned           default 0.00     null comment '价格',
    views        int unsigned                      default 0        null comment '点击',
    workrange    varchar(100)                      default ''       null comment '时间区间',
    startdate    date                                               null comment '开始日期',
    activitytime datetime                                           null comment '活动时间(datetime)',
    year         year                                               null comment '年',
    times        time                                               null comment '时间',
    refreshtime  bigint(16)                                         null comment '刷新时间',
    createtime   bigint(16)                                         null comment '创建时间',
    updatetime   bigint(16)                                         null comment '更新时间',
    deletetime   bigint(16)                                         null comment '删除时间',
    weigh        int(10)                           default 0        null comment '权重',
    switch       tinyint(1)                        default 0        null comment '开关',
    status       enum ('normal', 'hidden')         default 'normal' null comment '状态',
    state        enum ('0', '1', '2')              default '1'      null comment '状态值:0=禁用,1=正常,2=推荐'
)
    comment '测试表' charset = utf8mb4;

进入项目根目录(也就是think文件所在的目录)。

bash 复制代码
cd fastadmin

下面是常用命令

bash 复制代码
//生成fa_test表的CRUD
php think crud -t test
//生成fa_test表的CRUD且一键生成菜单
php think crud -t test -u 1
//删除fa_test表生成的CRUD
php think crud -t test -d 1
//生成fa_test表的CRUD且控制器生成在二级目录下
php think crud -t test -c mydir/test
//删除fa_test表生成的二级目录的CRUD
php think crud -t test -c mydir/test -d 1
//生成fa_test_log表的CRUD且生成对应的控制器为testlog
php think crud -t test_log -c testlog
//生成fa_test表的CRUD且对应的模型名为testmodel
php think crud -t test -m testmodel
//生成fa_test表的CRUD且生成关联模型category,外链为category_id,关联表主键为id
php think crud -t test -r category -k category_id -p id
//生成fa_test表的CRUD且所有以list或data结尾的字段都生成复选框
php think crud -t test --setcheckboxsuffix=list --setcheckboxsuffix=data
//生成fa_test表的CRUD且所有以image和img结尾的字段都生成图片上传组件
php think crud -t test --imagefield=image --imagefield=img
//关联多个表,参数传递时请按顺序依次传递,支持以下几个参数relation/relationmodel/relationforeignkey/relationprimarykey/relationfields/relationmode
php think crud -t test --relation=category --relation=admin --relationforeignkey=category_id --relationforeignkey=admin_id
//生成v_phealth_db2数据库下的fa_test表的CRUD
php think crud -t test --db=v_phealth_db2

参数的含义

参数 解释
-t, --table=TABLE 表名,带不带表前缀均可
-c, --controller[=CONTROLLER] 生成的控制器名,可选,默认根据表名进行自动解析
-m, --model[=MODEL] 生成的模型名,可选,默认根据表名进行自动解析
-i, --fields[=FIELDS] 生成的数据列表中可见的字段,默认是全部
-f, --force[=FORCE] 是否覆盖模式,如果目标位置已经有对应的控制器或模型会提示
-l, --local[=LOCAL] 是否本地模型,默认1,置为0时,模型将生成在common模块下
-r, --relation[=RELATION] 关联模型表名,带不带表前缀均可
-e, --relationmodel[=RELATIONMODEL] 生成的关联模型名,可选,默认根据表名进行自动解析
-k, --relationforeignkey[=RELATIONFOREIGNKEY] 表外键,可选,默认会识别为使用 模型_id 名称
-p, --relationprimarykey[=RELATIONPRIMARYKEY] 关联模型表主键,可选,默认会自动识别
-s, --relationfields[=RELATIONFIELDS] 关联模型表显示的字段,默认是全部
-o, --relationmode[=RELATIONMODE] 关联模型,hasone/belongsto/hasmany [default: "belongsto"](v1.3+ 增加了 hasmany)
-d, --delete[=DELETE] 删除模式,将删除之前使用CRUD命令生成的相关文件
-u, --menu[=MENU] 菜单模式,生成CRUD后将继续一键生成菜单
--db[=key] 多数据库支持(参数为tp5中配置的数据库key 在application\config.php添加数据库配置信息)
--setcheckboxsuffix[=SETCHECKBOXSUFFIX] 自动生成复选框的字段后缀
--enumradiosuffix[=ENUMRADIOSUFFIX] 自动生成单选框的字段后缀
--imagefield[=IMAGEFIELD] 自动生成图片上传组件的字段后缀
--filefield[=FILEFIELD] 自动生成文件上传组件的字段后缀
--intdatesuffix[=INTDATESUFFIX] 自动生成日期组件的字段后缀
--switchsuffix[=SWITCHSUFFIX] 自动生成可选组件的字段后缀
--citysuffix[=CITYSUFFIX] 自动生成城市选择组件的字段后缀
--selectpagesuffix[=SELECTPAGESUFFIX] 自动生成Selectpage组件的字段后缀
--ignorefields[=IGNOREFIELDS] 排除的字段
--editorclass[=EDITORCLASS] 自动生成富文本组件的字段后缀
--headingfilterfield[=HEADINGFILTERFIELD] 自动生成筛选过滤选项卡的字段,默认是status字段
--sortfield[=SORTFIELD] 排序字段

执行一键生成crud以及菜单的命令

bash 复制代码
php think crud -t test -u 1


整体结构如下,方便二次开发

复制代码
├── application
│   └── admin
│       ├── controller
│       │   └── Test.php                //控制器类
│       ├── lang
│       │   └─ zh-cn
│       │       └── test.php            //功能语言包,按需加载
│       ├── model
│       │   └── Test.php                //模型类
│       ├── validate
│       │   └── Test.php                //验证器类
│       └── view
│           └── test
│               ├── index.html          //列表视图
│               ├── add.html            //添加视图
│               ├── edit.html           //编辑视图
│               └── recyclebin.html     //回收站视图
└── public
    └── assets
        └── js
            └── backend
                └── test.js             //功能模块JS文件

后台呈现结果

相关推荐
计算机毕设定制辅导-无忧学长1 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
程序员柳2 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
码荼2 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
梦在深巷、2 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机2 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
武昌库里写JAVA3 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
祁思妙想3 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人4 小时前
1.MySQL之如何定位慢查询
数据库·mysql
amazinging4 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium