fastadmin学习04-一键crud

news/2024/5/15 13:17:03

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.mrgr.cn/p/33088342

相关文章

Web Components使用(一)

在使用Web Components之前,我们先看看上一篇文章Web Components简介,其中提到了相关的接口、属性和方法。 正是这些接口、属性和方法才实现了Web Components的主要技术:Custom elements(自定义元素)、Shadow DOM&#…

百度智能云千帆,产业创新新引擎

本文整理自 3 月 21 日百度副总裁谢广军的主题演讲《百度智能云千帆,产业创新新引擎》。 各位领导、来宾、媒体朋友们,大家上午好。很高兴今天在石景山首钢园,和大家一起沟通和探讨大模型的发展趋势,以及百度最近一段时间的思考和…

2.7、创建列表(List)

概述 列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、…

数据可视化是如何与智慧交通相结合的?

在当今社会,数据已成为信息时代的关键资源,而数据可视化则是将这些庞杂的数据转换为易于理解和分析的图形和图表的过程。随着城市化进程的加快,交通拥堵、安全管理、环境监测等问题日益凸显,智慧交通系统的构建成为了解决这些问题的关键,而数据可视化在这一过程中发挥了不…

Web Audio API 第3章 音量和响度

此章介绍的科普物理声音知识相当有用,编程的反而涉及的少音量和响度Loudness 响度 注:根据《韦氏词典》,响度是“一种声音的属性,它决定了所产生的听觉感觉的大小,主要取决于所涉及声波的振幅。”这意味着响度取决于你大脑中感知到的声音。而是声音对你来说有多大。这是主…

在 kubernetes 环境下如何优雅扩缩容 Pulsar

背景 在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案。 根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费用。 不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的…

成都市酷客焕学新媒体科技有限公司:实现品牌的更大价值!

成都市酷客焕学新媒体科技有限公司专注于短视频营销,深知短视频在社交媒体中的巨大影响力。该公司巧妙地将品牌信息融入富有创意和趣味性的内容中,使观众在轻松愉悦的氛围中接受并传播这些信息。凭借独特的创意和精准的营销策略,成都市酷客焕…

深度学习故障诊断实战 | 数据预处理之创建Dataloader数据集

前言 本期给大家分享介绍如何用Dataloader创建数据集 背景 示例代码 from torch import nn import torch import os import numpy as np import pandas as pd import matplotlib.pyplot as plt import time import torch.functional as F from sklearn.manifold import TSNE…

Sysbench安装与使用

Sysbench Sysbench安装curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash sudo apt -y install sysbench sysbench --versionSysbench使用 内存测试 查看内存帮助信息 sysbench memory help # 查看内存帮助信息 sysbench 1.0…

为什么Python不适合写游戏?

知乎上有热门个问题:Python 能写游戏吗?有没有什么开源项目? Python可以开发游戏,但不是好的选择 Python作为脚本语言,一般很少用来开发游戏,但也有不少大型游戏有Python的身影,比如&#xff1…

数据可视化是怎样帮助网络安全建设的?

在当今数字化时代,网络安全已成为各大企业乃至国家安全的重要组成部分。随着网络攻击的日益复杂和隐蔽,传统的网络安全防护措施已难以满足需求,急需新型的解决方案以增强网络防护能力。数据可视化技术,作为一种将复杂数据转换为图形或图像表示的方法,正在成为提升网络安全…

Java八股文(JVM)

Java八股文のJVM JVM JVM 什么是Java虚拟机(JVM)? Java虚拟机是一个运行Java字节码的虚拟机。 它负责将Java程序翻译成机器代码并执行。 JVM的主要组成部分是什么? JVM包括以下组件: ● 类加载器(ClassLoa…

Sentinel 对分布式服务进行流量控制

可以下载sentinel的jar包,用java -jar命令直接启动默认端口就是8080,这里随便写一下演示,其他修改还是直接看Sentinel网站吧 java -jar -Dserver.port=8080 sentinel的jar包名.jar对需要进行流量控制的服务进行依赖导入(这个依赖直接在父工程引入似乎无效,不知为何) <…

pod 入门

pod 入门 入门级的放通网络 我们使用 nginx 创建的pod,必须要能本地访问它才行,在不引入复杂的网络环境的前提下,我们可以通过映射端口或者映射本机网络的方式进行访问。 apiVersion: v1 kind: Pod metadata:name: web01labels:app: nginxversion: "1.24"namespac…

verilog设计-cdc:多比特信号跨时钟域(DMUX)

一、前言 多比特一般为数据&#xff0c;其在跨时钟域传输的过程中有多种处理方式&#xff0c;比如DMUX&#xff0c;异步FIFO&#xff0c;双口RAM&#xff0c;握手处理。本文介绍通过DMUX的方式传输多比特信号。 二、DMUX同步跨时钟域数据 dmux表示数据分配器&#xff0c;该方…

由浅到深认识Java语言(25):正则表达式

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

殊荣双至,天翼云边缘计算再获两项大奖!

近日,全球边缘计算大会北京站在新世界大酒店成功召开。大会公布了“2023金边奖”评选结果,天翼云斩获“最佳智能边缘云服务商”“最佳边缘安全加速平台”两项大奖。天翼云边缘计算产品专家熊瑶、天翼云边缘安全产品专家杜茜参加会议并分别发表演讲,分享了天翼云边缘计算发展…

多所大学在用的网速测试网页工具librespeed/speedtest精简版

亲测比较准&#xff0c;所以精简自用并分享。 https://github.com/librespeed/speedtest/ 精简到15KB版本&#xff1a;https://download.csdn.net/download/YUJIANYUE/89049070

echarts 水球图

本文章出自: 作者:你不知道的巨蟹 文章:vue中如何使用基于 echarts 的 echarts-liquidfill 插件开发水球图前言 echarts4 官网:https://echarts.apache.org/v4/zh/option.html#series-scatter.coordinateSystemecharts5 官网:https://echarts.apache.org/echarts-liquidfi…

# Apache SeaTunnel 究竟是什么?

作者 | Shawn Gordon 翻译 | Debra Chen 原文链接 | What the Heck is Apache SeaTunnel? 我在2023年初开始注意到Apache SeaTunnel的相关讨论,一直低调地关注着。该项目始于2017年,最初名为Waterdrop,在Apache DolphinScheduler的创建者的贡献下发展起来,后者支持SeaTunn…