FastAdmin基于ThinkPHP5强大的命令行功能扩展了一系列命令行功能,可以很方便的一键生成CRUD、生成权限菜单、压缩打包CSS和JS、安装配置插件等功能。
一键生成CRUD
在FastAdmin中可以快速的一键生成CRUD,其中包括控制器、模型、视图、验证器、语言包、JS。
准备工作
在数据库中创建一个fa_test数据表,编辑好表字段结构,并且一定写上字段注释和表注释,相关数据表字段的设计要求可以参考数据库章节。FastAdmin在生成CRUD时会根据字段属性、字段注释、表注释自动生成语言包、组件和排版。
请确保php所在的目录已经加入到系统环境变量,否则会提示找不到该命令
打开命令行控制台进入到FastAdmin根目录,也就是think文件所在的目录
常用命令
//生成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_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 [default: "belongsto"] -d, --delete[=DELETE] 删除模式,将删除之前使用CRUD命令生成的相关文件 -u, --menu[=MENU] 菜单模式,生成CRUD后将继续一键生成菜单 --db[=key] 多数据库支持(参数为tp5中配置的数据库key 在applicationconfig.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] 排序字段
常见问题
如果你的表带有下划级会自动生成带层级的控制器和视图,如果你不希望生成带层级的控制器和视图,请使用-c 参数,例如:php think crud -t test_log -c testlog将会生成testlog这个控制器,同理如果你的普通表想生成带层级的控制器则可以使用php think crud -t test -c mydir/test
FastAdmin自带一个fa_test表用于测试CRUD能支持的字段名称和类型,请直接使用php think crud -t test生成查看
生成CRUD后,关联表外键在列表未显示对应的关联表数据信息,此时建议你使用在线命令行插件进行可视化生成
生成CRUD后,在添加或编辑时外键字段未能正确显示关联表数据列表,请查看数据库章节常见问题中的说明。
如果需要生成回收站,请务必保证你的表中存在deletetime字段,且默认值为null,这样在一键CRUD时将自动生成回收站的功能,如果deletetime默认值为0,数据将默认进入回收站。
使用范例
更多CRUD一键生成可使用的参数请使用php think crud --help查看
发表评论 取消回复