900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【编程新时代】AI+编程 ChatGPT轻松完成MySql建表CURD操作!

【编程新时代】AI+编程 ChatGPT轻松完成MySql建表CURD操作!

时间:2022-01-21 22:38:26

相关推荐

【编程新时代】AI+编程 ChatGPT轻松完成MySql建表CURD操作!

1、向ChatGPT发送指令

你能帮我根据我提供的内容生成mysql建表语句吗?表注释: 学生基础字段:id,guid(varchar255),create_time,create_user_guid,update_time,update_user_guid,delete_time,delete_user_guid业务字段: 名称,性别,年龄要求:1. 表名称根据表注释翻译为英文来命名2.create_time,create_user_guid,update_time,update_user_guid,delete_time,delete_user_guid 这些基础字段要放在业务字段之后3. 记住这个格式和要求与约束,之后我将输入这个格式,你来给我生成

2、效果

3、如何自定义

比如:我想给每个字段加上前缀

我要你在每个字段名前加上表名称再加上下划线

比如:我想定义一个格式类型,下次直接输入对应的格式

现在我需要你记住这个格式,下次我说我需要建表时,按照这个格式生成mysql建表语句:表注释:您的表名业务字段:您的业务字段注意:您的表名和您的业务字设是我自定义的

4、根据表结构,生成 Think PHP6 代码

4.1 生成模型层

你能根据该表结构,给我生成一个 Think PHP6 的模型层代码吗?

如果想要贵公司指定框架的格式,我们也可以提供一个模板的格式给ChatGPT,然后一键替换内容, 达到我们想要的效果。

你能将刚刚的表结构根据我的提供的模型层模板,生成对应的模型层吗?注意:将banner换成class以下是我的模型层模板:<?phpnamespace app\common\model\Banner;use app\common\arw\adjfut\src\Validate;use app\BaseModel;use think\model\concern\SoftDelete;use app\Request;class Banner extends BaseModel{use SoftDelete;// 删除字段protected $deleteTime = 'banner_delete_time';// 设置主键名protected $pk = 'banner_guid';// 设置废弃字段protected $disuse = [];// 设置字段信息protected $schema = ["banner_id" => "int","banner_guid" => "string","banner_img" => "string","banner_create_user_guid" => "string","banner_create_time" => "datetime","banner_update_user_guid" => "string","banner_update_time" => "datetime","banner_delete_user_guid" => "string","banner_delete_time" => "datetime",];// 设置json类型字段protected $json = [''];// 开启自动写入时间戳字段protected $autoWriteTimestamp = 'datetime';// 创建时间protected $createTime = 'banner_create_time';// 修改时间protected $updateTime = 'banner_update_time';/*** 新增前*/public static function onBeforeInsert(self $model): void{// self::checkRepeatData($model);$model->completeCreateField();}/*** 更新前*/public static function onBeforeUpdate(self $model): void{// self::checkRepeatData($model);$model->completeUpdateField();}/*** 删除前*/public static function onBeforeDelete(self $model): void{$model->completeDeleteField();}}

4.2生成控制器

你能根据该表结构,给我生成一个 Think PHP6 的 带有 查询分页列表、添加、修改、删除 功能的控制器吗?注意:我不要模板渲染返回,我需要api接口的返回

同理,你只需要丢给他一个模板即可生成对应的符合我们要求的控制器

你能将刚刚的模型层根据我的提供的控制器模板,生成对应的控制器吗?注意:将banner换成class以下是我的控制器模板:<?phpnamespace app\admin\controller\Banner;use app\BaseController;use app\common\model\Banner\Banner as ModelBanner;use app\Request;use think\Validate;use think\exception\ValidateException;use think\facade\Filesystem;use app\common\arw\adjfut\src\Excel;use app\common\arw\adjfut\src\UploadFile;use think\facade\Db;use think\facade\Env;class Banner extends BaseController{/*** 获取轮播图列表*/public function getBannerList(Request $request): array{$params = $request->param();$con = [];$query = ModelBanner::where($con);$select = self::pageWrapper($query)->field(['banner_id','banner_guid','banner_img'])->order('banner_update_time', 'desc')->select();$count = $query->count();return ['code' => 0,'data' => $select,'count' => $count,'msg' => 'ok'];}/*** 编辑轮播图*/public function editBanner(Request $request): array{$params = $request->param();$this->validate($params, ['banner_img|轮播图图片' => 'require']);$model = ModelBanner::where('banner_guid', $params['banner_guid'])->find();if (!$model) throwErrorMsg("该轮播图不存在", 1);$model->allowField(['banner_update_user_guid','banner_img'])->save($params);return ['code' => 0,'msg' => '编辑成功'];}/*** 添加轮播图*/public function addBanner(Request $request): array{$params = $request->param();$this->validate($params, ['banner_img|轮播图图片' => 'require']);$model = ModelBanner::create($params, ['banner_guid','banner_create_user_guid','banner_update_user_guid','banner_img']);return ['code' => 0,'msg' => '添加成功'];}/*** 删除轮播图*/public function deleteBanner(Request $request): array{$params = $request->param();$this->validate($params, ['banner_guid' => 'require',]);$banner = ModelBanner::where(['banner_guid' => explode(',', $params['banner_guid'])])->select();$banner->delete();return ['code' => 0,'msg' => "删除成功"];}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。