fastadmin学习04-一键crud

news/2024/4/29 5:39:17/文章来源:https://blog.csdn.net/qq_36437991/article/details/137119644

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

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文件所在的目录)。

cd 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表生成的二级目录的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以及菜单的命令

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文件

后台呈现结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027775.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.1 神经网络概述(Neural Network Overview)3.2 神经网络的表示(Neural Network Representation…

YOLOv8全网独家改进: 红外小目标 | 注意力改进 | 多膨胀通道精炼(MDCR)模块,红外小目标暴力涨点| 2024年3月最新成果

💡💡💡本文独家改进:多膨胀通道精炼(MDCR)模块,解决目标的大小微小以及红外图像中通常具有复杂的背景的问题点,2024年3月最新成果 💡💡💡红外小目标实现暴力涨点,只有几个像素的小目标识别率大幅度提升 改进结构图如下: 收录 YOLOv8原创自研 https://blog…

Day24 代码随想录(1刷) 回溯

目录 77. 组合 216. 组合总和 III 17. 电话号码的字母组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1…

Vue生命周期,从听说到深入理解(全面分析)

每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶…

基于深度学习的OCR,如何解决图像像素差的问题?

基于深度学习的OCR技术在处理图像像素差的问题时确实面临一定的挑战。图像像素差可能导致OCR系统无法准确识别文本,从而影响其精度和可靠性。尽管已经有一些方法如SRN-Deblur、超分SR和GAN系列被尝试用于解决这个问题,但效果并不理想。然而,这…

论文阅读-Policy Optimization for Continuous Reinforcement Learning

摘要 我们研究了连续时间和空间环境下的强化学习( RL ),其目标是一个具有折扣的无限时域,其动力学由一个随机微分方程驱动。基于连续RL方法的最新进展,我们提出了占用时间(专门针对一个折现目标)的概念,并展示了如何有效地利用它…

【超图 SuperMap3D】【基础API使用示例】51、超图SuperMap3D - 绘制圆|椭圆形面标注并将视角定位过去

前言 引擎下载地址:[添加链接描述](http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id2524) 绘制圆形或者椭圆形效果 核心代码 entity viewer.entities.add({// 圆中心点position: { x: -1405746.5243351874, y: 4988274.8462937465, z: 370…

关于异业联盟模式做成小程序的可行性分析

随着移动互联网的快速发展,小程序作为一种轻量级应用,受到了越来越多企业和用户的青睐。而异业联盟模式则是一种有效的商业合作方式,能够实现资源共享、优势互补和共同发展。将异业联盟模式做成小程序,不仅可以提高用户体验&#…

Pytorch的hook函数

hook函数是勾子函数,用于在不改变原始模型结构的情况下,注入一些新的代码用于调试和检验模型,常见的用法有保留非叶子结点的梯度数据(Pytorch的非叶子节点的梯度数据在计算完毕之后就会被删除,访问的时候会显示为None&…

react-navigation:

我的仓库地址:https://gitee.com/ruanjianbianjing/bj-hybrid react-navigation: 学习文档:https://reactnavigation.org 安装核心包: npm install react-navigation/native 安装react-navigation/native本身依赖的相关包: react-nativ…

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测 目录 时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测(完整源码和数据…

工业镜头常用参数之实效F(Fno.)和像圈

Fno. 工业镜头中常用到的参数F,有时候用F/#,Fno.来表示,指的是镜头通光能力的参数。它可用镜头焦距及入瞳直径来表示,也可通过镜头数值孔径(NA)和光学放大倍率(β)来计算。有效Fno.…

maven的依赖继承

先说一下创建子maven工程的步骤 继承 继承的作用:在父工程中,统一管理项目中的依赖信息,进行统一的版本控制 继承的背景是:对一个大型的项目进行了模块拆分,一个project下,创建了很多的module&#xff0c…

golang grpc和protobuf的版本降级问题(version4 -> version3)

最后更新于2024年3月28日 10:57:52 简中没查到类似的文章。一点小事闹麻了,搞了一天,特意发出来造福大家。 所谓的版本就是下面这个东西proto.ProtoPackageIsVersion4或者proto.ProtoPackageIsVersion3: 目的 为了适配旧代码&#xff0c…

linux shell命令(进程管理、用户管理)

一、进程的概念 主要有两点: 1.进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)…

百度智能小程序源码系统简洁版 SEO关键词排名推广优化 带完整的安装代码包以及搭建教程

移动互联网的快速发展,小程序以其轻量级、无需下载、即用即走的特点,迅速成为了各大平台争相推广的重要产品形态。百度智能小程序作为百度生态下的重要一环,凭借其强大的流量入口和丰富的功能组件,为开发者提供了广阔的创作空间。…

fastadmin学习05-开启debug以及配置

FastAdmin 框架提供了对 .env 环境变量配置的支持,并附带一个默认示例文件 .env.sample。在安装后,框架并不会自动启用 env 环境变量,需要手动将 .env.sample 复制为 .env 并进行配置。 如果不开启.env会读取database.php中的配置 下面测试…

基于单片机智能可控电源系统设计

**单片机设计介绍,基于单片机智能可控电源系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机智能可控电源系统设计的主要目标是实现电源的智能控制、监测和保护功能,以满足不同应用场景下…

计算机网络:物理层 - 信道极限容量

计算机网络:物理层 - 信道极限容量 实际信道中的数字信号奈式准则香农公式练习 实际信道中的数字信号 信号在传输过程中会受到各种因素的影响,如图所示: 这是一个数字信号,当它通过实际的信道后,波形会产生失真&#…

LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement

LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement 相关链接:arXiv GitHub 关键字:LLM、Data Augmentation、Fine-tuning、NLP、Low-data Regime 摘要 预训练的大型语言模型(LLMs)目前是解决绝大多数自然语言处理任…