咱们这帮兄弟们呐!你们就从来没想过么,FastAdmin里那货拼一下就能搞定商品信息录入(CRUD)界面怎么来的吧?它是不是神奇到可以让你不费吹灰之力就能搞出后台的控制器啦、模型啦、视图啦、还有那些叫人眼花缭乱的JavaScript呀、语言包呀、菜单呀、回收站之类的杂七杂八的东西嘞?今儿个就让我给大家做个咱们毒舌版的详解!
准备好那把锋利无比的刃器,咱得先研究研究如何挥舞FastAdmin这把神奇的CRUD大锤。没错,它就是这么聪明灵巧,只需从你那些眼花缭乱的字段属性、字段注释和表注释中溜达那么一圈,瞬间就能为你挑选出最为适合的语言包、组件以及漂亮得体的排版。所以亲爱滴小伙伴们,当你们在研究敲打数据表这件事时,可千万别忘了给每一个字段都贴上注释,特别是那个表注释呦!这样的话,FastAdmin这个小家伙才能展现出更为精彩纷呈的演出效果啦~
哎呦喂,您可能又开始犯嘀咕了,说我要是这个表名上面有个下划线怎么办呢?您别慌我们的FastAdmin早就为您想得周到无比。要是您这个表名上面有个下划线,那它就会神奇般地帮您创建出一套又一套的控制器和视图唉。不过,假如您对这款层层叠叠的控制器和视图觉得不太满意,那也是完全没关系滴,亲,您只需要在命令后面加入”-c”那个参数然后给FastAdmin发个消息也就搞定咯!比如说,您不妨依次敲击这些有趣的字母组合”php think crud -t test_log -c testlog”,这样轻轻松松就能够得到一个名叫”testlog”的控制器。
//生成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
大哥们,我给大家提个醒你们是不是也碰见过这种事儿?做完CRUD以后,你瞅瞅你的关联表格,那些外键都躺在那里,可在我们的列表里却找不到它们对应的那点儿关联表信息在哪儿!这时候咋整呢?听我跟你说,你赶紧去装上那个在线命令行的小神器,立马就把所有关联表的数据看得清清楚楚了,并且这个玩意儿还有助于简化各种复杂操作,既省时间又高效率,简直让人乐不可支!
-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 在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] 排序字段
你瞅啊哥们儿,这儿还有个小秘密得跟你交代清楚了,那就是倘若你正在折腾那些加减改删的事儿,结果发现有个外键的部分老是拖后腿,连带那个对应表格的数据都不出来见客,这时候别发懵,赶紧的翻到数据库那章,找到我们那些压箱底的“常见问题”专栏,里头肯定有你想找的答案,解决方法保证包罗万象!
麻酱儿,我劝咱俩要是真想折腾出个有垃圾箱功能的玩意儿,撒都别急着下手,先把你表格里面那个叫做“deletetime”的小小子子给认认真真的看清楚咯。还有,记得把它那儿默认的值摸出来,给整成个大白板,别磨叽,问那么多为啥干啥,就是为了让咱们这FastAdmin方便,给你整个啥一键搞定CRUD的大招,这个字段可是人家吃饭的家伙能根据它的值自动生成垃圾箱功能要是你没把”deletetime”的默认值设成0,我跟你说,你那些辛辛苦苦抄下来的东西,可就白白带走了,直接去垃圾桶报到了
哎呦妈咱们这一趟行程到这儿就告一段落,下面,我得跟大伙儿扯点儿小茬儿,先说一嘴“category_id”这个玩意儿,这可是个独特到不行的变量,直接拿你建的表格做筛子使唤。比如说,咱这儿有张表格叫”fa_test”,那用它来干那些 create, read, update, delete(咱这儿就简称为CRUD吧)这个类型就得写成 “test” 才合适哟;可要是换成另一个名字叫”fa_test_copy”的话,那这个类型就要写成 “test_copy” 。所以,咱们要用比如Selectpage这样的工具来翻翻里面的内容时,可别忘了赶紧跑到后台去—也就是我们常说的那个系统设置里头—找找那个叫做字典配置的地儿—一直往下点,就能看见那个分类类型啦; 然后把对应的类型填上去就搞定了。不过,光是这么填着还不够喔,还得在分类管理哪儿做做手脚,让数据匹配上这个刚添上去的类型才成呐!
嗨! 亲爱滴小伙伴们,现如今是不是已经被 Fast Admin 这货的一键生成 CRUD 的牛逼功能迷得神魂颠倒了呀?别光顾着玩转数据表,也别忘了给每一个字段都加个注释,顺便再配上一份表注释,这样咱家的大公鸡——FastAdmin 就能帮你轻松搞定 CRUD 所有活!要是遇到了什么小麻烦,那就赶快试试那个神奇的在线命令行插件的可视化工具,说不定能为你找到答案哟; 或者翻翻数据库章节中的常见问题解释,相信也会有所帮助。来吧来,让我们一起探讨一下,假如你想玩出个回收站的功能,那就务必要保证那个叫“deletetime”的字段是存在滴,并且得把它的默认值设为 null 才行记住了当你设定好分类类型后,别忘记往里面填充点儿真实有用的内容,否则在 Selectpage 那儿往下拉可就是空空如也,看着多没劲就是这么简单,今天就让咱们一起来揭露 FastAdmin 这货的一键生成 CRUD 的神秘面纱,瞧瞧究竟隐藏了哪些奇妙之处。希望这篇看似平淡无奇但实际饱含真情实感的文章可以给各位小伙伴们提供一些灵感和实用信息。要是您心里憋屈得慌却又不知所措,那就尽情地在评论区发泄出来,咱们痛快地聊天也是乐事一桩哟。别忘了给我点个赞儿,再分享出去,让世界各地的朋友们都见识一下这次我们的精彩探索之旅!