可以一键生成crud的php框架,一键生成CRUD - FastAdmin框架文档 - FastAdmin开发文档
一键生成CRUD
最后更新时间:2021-01-05 19:54:10
可以在FastAdmin中高效地通过单击按钮完成CRUD操作,并且系统会自动处理后端接口的建立与配置。该功能集成了以下核心组件:包括控制器模块负责业务逻辑管理;模型管理模块支持数据持久化;视图构建模块提供多种展示方式;验证器系统用于数据校验功能实现;语言包管理模块支持多语言开发需求;以及JavaScript框架整合以增强动态交互体验。
准备工作
请在数据库中建立一个名为fa_test的数据表,并按照需求配置好其字段结构以及相关的字段注释和表注释等内容。参考数据库章节的相关设计要求进行操作。FastAdmin系统会在生成CRUD功能时自动支持基于字段属性、字段注释以及表注释的开发需求,并自动生成相应的语言包、组件模板以及排版样式等。
请务必确保PHP所在的目录被包含进系统环境变量中,并非如此可能导致无法运行该命令
进入命令行控制台界面并切换至FastAdmin根目录位置即可。
常用命令//生成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)/relation(relationforeignkey)/relation(relationprimarykey)/relation(relationfields)/relationmode
运行基于PHP的Think Crud应用并配置相关关系项
//生成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] 该选项指定关联机制,默认采用"属于"关系
-d, --delete[=DELETE] 删除模式,将删除之前使用CRUD命令生成的相关文件
-u, --menu[=MENU] 菜单模式,生成CRUD后将继续一键生成菜单
--db[=key] 支持多数据库配置(该参数取自 tp5 中的数据库配置项,在 application 目录下的 config.php 中存储相关数据库设置)
--setcheckboxsuffix[=SETCHECKBOXSUFFIX] 自动生成复选框的字段后缀
--enumradiosuffix[=ENUMRADIOSUFFIX] 自动生成单选框的字段后缀
--imagefield[=IMAGEFIELD] 自动生成图片上传组件的字段后缀
--filefield[=FILEFIELD] 自动生成文件上传组件的字段后缀
--intdatesuffix[=INTDATESUFFIX] 自动生成日期组件的字段后缀
--switchsuffix[=SWITCHSUFFIX] 自动生成可选组件的字段后缀
--citysuffix[=CITYSUFFIX] 自动生成城市选择组件的字段后缀
根据需求自动生成Selectpage组件的字段后缀名
--ignorefields[=IGNOREFIELDS] 排除的字段
--editorclass[=EDITORCLASS] 自动生成富文本组件的字段后缀
通过参数--headingfilterfield[=HEADINGFILTERFIELD]指定自动生成筛选过滤器选项卡,默认设置为status字段
--sortfield[=SORTFIELD] 排序字段
默认情况下会自动生成层级结构的Controller与View)。若要避免生成具有层次结构的Controller与View,请配置--c选项)。例如:运行php think crud -t table_name --c output_dir将根据指定名称在output_dir目录下创建相应的Controller)。类似地,若目标表格希望展示层次化结构,则可运行php think crud -t table_name --c parent_dir/subpath)。
FastAdmin内置一个名为fa_test的表用于测试支持的字段名称和类型,请可以直接使用php think crud -t test命令来生成查看
在完成CRUD操作后,在列表中未充分显示其对应的关联表数据信息时
完成完ORM CRUD操作后,在对外键字段进行插入或更新操作时无法正常呈现相关联的数据列表,请参阅数据库章节中的常见问题部分获取详细说明
若希望实现回收站功能,则必须确保该表包含一个名为deletetime的字段,并将其默认值设为null;这样在执行一键CRUD操作时会自动支持回收站功能
必须避免对fa_user/fa_auth_rule/fa_auth_group/cauth_group_access/faqmin/faqmin_log/faqmin/faqmin_user/faqmin_rule等关键数据表执行CRUD操作,否则如果不采取相应措施将会导致原有框架管理功能失效.
默认使用category_id字段,并将其表名作为筛选条件;例如,在对fa_test表执行CRUD操作时,则类型设置为test;而当对fa_test_copy执行CRUD操作时,则类型设置为test_copy;请前往常规管理>系统配置>字典配置>分类类型模块中添加相应的分类设置;只有在完成分类管理模块中的数据录入之后才会生效
使用范例

更多CRUD一键生成可使用的参数请使用php think crud --help查看
未解决你的问题?请到「问答社区」反馈你遇到的问题

