mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-01-23 10:50:24 +08:00
116 lines
4.0 KiB
Markdown
116 lines
4.0 KiB
Markdown
## 生成关联表CURD
|
||
|
||
### 热编译启动
|
||
- 推荐使用热编译方式启动HotGo,这样生成完成页面自动刷新即可看到新生成内容,无需手动重启
|
||
|
||
```shell
|
||
# 服务端
|
||
cd server
|
||
gf run main.go
|
||
|
||
# web端
|
||
cd web
|
||
yarn dev
|
||
```
|
||
|
||
以下是一个关联表的CURD生成流程
|
||
|
||
### 创建表结构
|
||
- 以下表结构和数据为了方便功能演示已经内置无需再次创建
|
||
|
||
|
||
- 创建主表:hg_sys_gen_curd_demo
|
||
```sql
|
||
CREATE TABLE `hg_sys_gen_curd_demo` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`category_id` bigint(20) DEFAULT '0' COMMENT '分类ID',
|
||
`title` varchar(64) NOT NULL COMMENT '标题',
|
||
`description` varchar(255) DEFAULT '' COMMENT '描述',
|
||
`content` text COMMENT '内容',
|
||
`image` varchar(255) DEFAULT NULL COMMENT '单图',
|
||
`attachfile` varchar(255) DEFAULT NULL COMMENT '附件',
|
||
`city_id` bigint(20) DEFAULT '0' COMMENT '所在城市',
|
||
`switch` int(11) DEFAULT '1' COMMENT '显示开关',
|
||
`sort` int(11) DEFAULT NULL COMMENT '排序',
|
||
`status` tinyint(1) DEFAULT '1' COMMENT '状态',
|
||
`created_by` bigint(20) DEFAULT '0' COMMENT '创建者',
|
||
`updated_by` bigint(20) DEFAULT '0' COMMENT '更新者',
|
||
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
|
||
`deleted_at` datetime DEFAULT NULL COMMENT '删除时间',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COMMENT='系统_生成curd演示';
|
||
```
|
||
|
||
创建关联表:hg_test_category
|
||
```sql
|
||
CREATE TABLE `hg_test_category` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分类ID',
|
||
`name` varchar(255) NOT NULL COMMENT '分类名称',
|
||
`short_name` varchar(128) DEFAULT NULL COMMENT '简称',
|
||
`description` varchar(255) DEFAULT NULL COMMENT '描述',
|
||
`sort` int(11) NOT NULL COMMENT '排序',
|
||
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||
`status` tinyint(1) DEFAULT '1' COMMENT '状态',
|
||
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`updated_at` datetime DEFAULT NULL COMMENT '修改时间',
|
||
`deleted_at` datetime DEFAULT NULL COMMENT '删除时间',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='测试分类';
|
||
```
|
||
|
||
### 表字段要求
|
||
- 使用生成时,表中必须具有以下字段和属性
|
||
|
||
| 字段名称 | 字段含义 | 字段类型 | 可为空 |
|
||
|--------|----------------------|---------------------|-----|
|
||
| id | 主键ID | bigint(20) | 否 |
|
||
|
||
|
||
|
||
### 创建生成配置
|
||
- 登录HotGo后台 -> 开发工具 -> 代码生成 -> 找到立即生成按钮并打开,选择和填写如下参数:
|
||
|
||
![](images/code/join-add.png)
|
||
|
||
|
||
### 基本设置
|
||
- 确认无误后,点击生成配置会跳转到生成配置页面,如下:
|
||
- 你可以在该页面调整生成表格表头/表列的接口功能、菜单权限、高级设置和关联表设置
|
||
|
||
![](images/code/join-init.png)
|
||
|
||
### 主表字段设置
|
||
|
||
- 在该页面你可以调整生成表格字段名称、表单组件、表单编辑/验证项、列表展示/查询项、字段排序、重置和同步字段
|
||
|
||
![](images/code/join-fields.png)
|
||
|
||
|
||
### 关联表字段设置
|
||
- 在该页面你可以调整生成表格关联表字段名称、列表展示/查询项、字段排序、重置和同步字段
|
||
- 如果存在多个关联表,也可以对多个关联表字段进行设置
|
||
|
||
![](images/code/join-fields2.png)
|
||
|
||
### 预览并生成
|
||
|
||
点击`预览代码`查看生成的代码内容。如果无需继续调整直接点击`提交生成`即可,以下是预览代码效果:
|
||
|
||
![](images/code/join-preview.png)
|
||
|
||
- 如果你使用的热编译,那么页面会在生成成功后立即刷新,刷新完成你即可在后台菜单栏中看到`测试表格`菜单。如果不是使用热编译启动,请手动重启服务后刷新。
|
||
|
||
|
||
### 生成完成
|
||
|
||
- 让我们看看生成的表格页面,效果如下:
|
||
|
||
![](images/code/join-list.png)
|
||
|
||
### 常见问题
|
||
|
||
- [生成常见问题](code-help.md)
|
||
|
||
|