顶呱呱新零售社交电商
🏠 首页
慧客云新零售社交电商
序言
系统简介
产品介绍
功能清单
开源/标准版对⽐
产品结构图
产品设计图
更新记录
系统安装
运行环境
服务器及域名
服务器购买
服务器端口
服务器配置-阿里云
服务器配置-腾讯云
服务器配置-京东云
域名购买
域名解析
SSL证书-注意事项
SSL证书-宝塔SSL
SSL证书-阿里云SSL
SSL证书-腾讯云SSL
SSL证书-SSL配置
宝塔环境安装
环境配置
站点配置
程序安装
安装视频
windows+phpStudy 安装
环境配置
安装系统
系统命令
win+IIS 安装
安装PHP
安装MYSQL
安装REDIS
安装URL重写
站点配置
DOCKER安装
URLOS安装
系统配置
配置清单
安装配置清单
运营配置清单
应用配置
公众号配置
公众号开发配置
公众号菜单
模版消息
小程序配置-微信平台配置
小程序配置-商城后台配置
小程序配置-订阅消息
小程序配置-消息推送配置
PC端配置-PC端配置
PC端配置-PC扫码登录配置
APP端配置-APP端配置
APP端配置-商城后台配置
支付配置
基础配置
微信支付V2
微信支付V3
支付宝支付
通联支付
微信服务商支付
云存储配置
阿里云存储
腾讯云存储
七牛云存储
京东云存储
天翼云存储
华为云储存
小票打印配置
基础配置
易联云配置
飞鹅云配置
一号通相关
一号通配置
短信服务
商品采集
物流查询
电子面单
商家寄件
消息配置
小程序订阅消息
公众号模版消息
腾讯云短信配置
阿里云短信配置
系统命令
客服长连接配置
定时任务配置
消息队列配置
用户
用户统计
用户管理
用户标签
用户等级
用户配置
用户分组
订单
订单统计
订单管理
订单列表
订单发货
批量发货
订单核销
订单改价/编辑
订单删除
小票打印
配货单打印
售后订单
收银订单
核销记录
订单配置
商品
商品类型
商品统计
商品管理
商品列表
商品添加
商品采集
商品分类
商品规格
商品评论
商品运费
常见问题
商品运费设置
商品运费计算方式
商品推荐图
营销
优惠券
优惠券说明
优惠券管理
用户领取记录
积分管理
活动说明
积分统计
积分商品
积分订单
积分记录
积分配置
抽奖管理
活动说明
抽奖配置
中奖记录
砍价管理
活动说明
砍价商品
砍价列表
拼团管理
活动说明
拼团商品
拼团统计
拼团列表
秒杀管理
活动说明
秒杀商品
秒杀配置
秒杀统计
付费会员
活动说明
会员类型
会员权益
卡密会员
会员记录
会员配置
直播管理
直播间管理
直播商品管理
主播管理
小程序直播说明
用户充值
活动说明
金额设置
充值设置
每日签到
活动说明
签到配置
签到奖励
渠道码
分销
分销规则说明
分销配置
分销等级
分销员管理
事业部
客服
客服说明
客服添加
客服工作台
客服话术
用户留言
自动回复
客服配置
企业微信客服
财务
交易统计
财务操作
财务记录
佣金记录
余额记录
内容
文章管理
文章分类
装修
首页装修
商品分类
个人中心
数据配置
主题风格
素材管理
应用
公众号
小程序
APP
PC
设置
系统设置
消息管理
协议设置
管理权限
角色管理
管理员列表
权限设置
发货设置
配送员管理
提货点设置
运费模版
接口配置
一号通
系统存储配置
小票打印配置
商品采集配置
物流查询配置
电子面单配置
短信接口配置
商城支付配置
维护
开发配置
配置分类
组合数据
定时任务
权限规则
模块配置
自定事件
安全维护
刷新缓存
系统日志
数据维护
物流公司
城市数据
清除数据
对外接口
账号管理
获取登录 token
语言设置
翻译配置
语言列表
语言详情
地区列表
开发工具
数据库管理
文件管理
接口管理
代码生成
数据字典
常见问题
缓存类型修改
小程序提示插件未授权
伪静态(URL重写)
小程序隐私政策设置
关于ubuntu无法在命令行正常启动workerman的问题
修改后台登录密码
MySql修改sql-mode
添加消息队列失败问题
宝塔新建站后打开就下载一个文件
CURL error 60 报错
更换域名之后图片不显示
端口被占用了怎么解决
关于composer更新的问题
小程序端(由于清除用户数据)导致扫码绑定分销关系错乱或者绑定失败
小程序配置业务域名文件校验失败
小程序获取微信昵称和头像点击头像没有反应
火山翻译配置了秘钥之后怎么看效果?
发票管理的发票类型在哪里增加
点击订单详情出现 undefined
一号通在哪配置接收新订单提醒的手机号
Could not open input file: think
开启了余额支付但支付页面不显示余额支付
发货后无法同步到小程序后台
回收站的商品怎么删除?
宝塔面板一键迁移项目站点
小程序消息推送配置Token校验失败
怎么关闭H5页面
分销等级中的佣金比例和分销设置中的佣金比例是什么关系
添加了自提点,下单的时候没有自提点可选
后台已经上架,但是前台还是不显示
公众号基本配置里的Token如何获得
文件上传大小以及类型在哪里修改
小程序启动消息推送后,小程序客服收不到消息
设置用户下单需要留姓名身份证号码
升级包在哪里下载
小程序订单中心path审核不通过
在哪里切换语言
后台添加的文章链接怎么获取和复制
商品口令 这个字段怎么使用
PC模板不显示精品推荐和首发新品
打开小程序提示请求失败
无法打开该页面,不支持打开 https://xxx.cn/kefu/mobile list
redirect _url协议与后台配置不一致
微信支付成功,但是退款失败
支付宝支付PC页面无法正常显示支付二维码
长链接启动了客服还是无法正常链接
阿里云/腾讯云发送短信时候提示模版不存在
后台登录页面的轮播图在哪里上传修改
node npm 安装/打包常见问题整理
小程序支付提示api unauthorized rid
当前页面URL未注册
小程序用户隐私协议
小程序客服收不到消息
在哪里切换语言
采集的商品图片如何本地化
退款类型 refund_type 有哪几种
分类里的全部商品图标修改
代码生成提示Undefined offset: 1
商品分类全部商品图标修改
微信菜单关键字无法显示
编译生成的h5端文件上传到哪个目录
接口请求失败,短信模板不能为空
弹出未开启长连接提示框
怎么查看版本号
报错Undefined index: order_id
前后端版本不一致
无法显示公众号关注组件
短信http_build_query()错误
您不是这个项目的成员
商城客服已离线
客服收不到消息
商品采集提示账户未授权!
收银订单的收款二维码不显示
同订单有多个产品怎么分开发货(拆单)
公众号登录失败
小程序发货管理配置
端口占用/杀死进程
同服务器安装多套标准版
appid和mch_id不匹配
接口请求失败:暂无使用次数
小程序登录41002错误
template is not approved or not exist
地图搜索不显示数据
Array to string conversion
上传 jpeg 图片格式不对
开发文档
php文档
开发规范
新增功能模块
目录结构
系统事件
扩展开发-登录
拓展开发-支付
扩展开发-商品采集
拓展开发-小票打印
拓展开发-小上传
拓展开发-物流查询
拓展开发-短信
定时任务-命令行文件
定时任务-新增定时任务
定时任务-命令说明
消息队列-队列配置
消息队列-系统队列
消息队列-队列开发
配置的新增和使用
接口访问token获取和使用
系统架构-模块总览
系统架构-入口文件
系统架构-容器依赖和注入
系统架构-数据库字典
远程登录
admin文档
打包教程
新增页面
目录结构
开发配置
Admin路径修改
uniapp文档
新增页面
打包教程-小程序
打包教程-公众号/H5
打包教程-APP
H5本地调试
小程序上传审核
小程序开发工具下载
pc文档
开发规范
打包教程-静态
PC-SEO打包教程
PC 快速安装
商业授权
授权说明
申请授权
第三方服务
云存储
存储说明
阿里云存储
腾讯云存储
七牛云存储
京东云存储
华为云存储
天翼云存储
⼀号通
注册登录
短信服务
商品采集
物流查询
电子面单
商家寄件
创建应用
电子发票
短信服务
商品采集
物流查询
⼩票打印
基础配置
易联云配置
飞鹅云配置
硬件说明
99api采集
搜索结果
没有相关内容~~
新增功能模块
最新修改于
2024-08-19 15:59
### 标准版/开源版,从创建数据表到实现最基础增删改查的实现过程 很多使用了单商户系统的童鞋在进行二开的时候,都会遇到新建了数据表之后不知道对数据表怎么进行操作。那么,这篇文章将带你完整的实现一遍,以后就不会怕啦。 #### 一、创建数据表 就以最简单的为例,创建一个学生的信息表 ![](https://doc.crmeb.com/uploads/single/v52/20230915/87e82818a3d4727873ca931461a4f327.png) 创建的表为下图所示,其中id为数据表自增主键 ![](https://doc.crmeb.com/uploads/single/v52/20230915/e957c5154bf26fc1bdcf32cb051da6d1.png) #### 二、创建数据表模型文件 程序中创建数据表对应的model文件,目录在app/model下,该目录下的文件夹是以功能模块进行分类的,我们先创建一个test文件夹。创建数据表模型Student.php文件。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/d6e8258959632a88a106c3ed357cdea6.png) 该模型类必须要继承BaseModel,但是可以不使用ModelTrait,里面仅实现了三个方法如果不需要的话可以不用引用。 然后设置数据表主键 ``` protected $pk = 'id'; ``` 设置数据表名称 ``` protected $name = 'student'; ``` 设置完成之后,此Model会和数据表进行关联,是程序对表进行操作的重要一个环节创建完成model类之后,接下来我们开始完成Dao层数据操作的功能实现。 #### 三、创建dao层数据库操作文件 在app/dao文件下创建test文件夹,并创建StudentDao.php的Dao层文件。创建完成之后,需要继承BaseDao,并设置之前创建的Student模型 ``` protected function setModel(): string { return Student::class; } ``` ![](https://doc.crmeb.com/uploads/single/v52/20230915/81f5eb179a6c417bbd2823c274c539ba.png) 在这里,我们对数据表的增删改查分别写一个方法,查询分为多条和单条,一共五个方法。 使用\$this->getModel()方法可以获取在上方设置的模型实例化对象,该文件下的所有方法都可以使用此方法进行模型的实例化, 1、 新增数据时,使用 \$this->getModel()->save(\$data);即可实现数据的新增逻辑,\$data为想要新增的数据,数组类型。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/e598df0d8c012be5230a8afc6717ee58.png) 2、 对于数据的查询,分为单条和多条查询,我们在这里分为两个方法去实现。同理使用 \$this->getModel()->where(\$where)->find();可以实现单条查询的逻辑,\$where是查询的条件,例如:\$where = [‘name’=>’张三’],这个条件就是查询name姓名为张三的数据对象。如果使用主键进行单条查询,可以直接使用\$this->get(\$id)的方法获取。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/d125c8a5284b1e38f7a3dc7b74c6cd36.png) 多条数据查询,如果不分页的情况下,写法和单条一样,只是将find()改为select(),如果需要分页查询需要传入page和limit(当前页数和每页条数)然后进行分页查询 ![](https://doc.crmeb.com/uploads/single/v52/20230915/aa862701277acf0952af08ea62bfb5b2.png) 其中when判断了当page和limit传入的数据都大于0的时候才会进行分页查询,如果传入0或者不传,则默认查询全部的数据。 3、 修改数据,修改数据需要传入一个条件和一个需要修改的数组变量,根据条件去修改对应的数据,\$where负责查询对应的数据,将对应的数据修改成\$data里面携带的参数,注意,\$where和\$data里面的数组键必须是数据表里面存在的字段,此方法可以修改单条或者多条,取决于\$where的查询是单条还是多条,会返回被修改的数据条数。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/2856f051985c0dbcf9593ace9c5052ce.png) 4、 删除数据,如果数据表里面设置的删除的字段,可以使用修改的方法将字段进行修改做到软删除,如果需要直接删除数据,则可是使用delete()方法。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/68316f38e20a2235448e5f558fe953a3.png) ### 四、创建services层数据处理文件 在app/services文件下创建test文件夹,并创建StudentServices.php的services层文件。创建完成之后,需要继承BaseServices,并注入StudentDao ![](https://doc.crmeb.com/uploads/single/v52/20230915/20dad27651df8f8459346c83d20057ef.png) 本次我们不对数据做任何处理,只是实现数据表的增删改查所以,在services文件中可以直接写好对应的调用,也可以不用写对应的方法,系统会自动找到dao层的方法进行处理 ![](https://doc.crmeb.com/uploads/single/v52/20230915/24f694364d6882ba812b005888d21292.png) #### 五、创建控制器以及路由文件 路由文件增加对应五个方法的路由,添加,查询单条,查询多条,修改,删除 ![](https://doc.crmeb.com/uploads/single/v52/20230915/fa830b6835ac339723e098d1b7e51da6.png) 对应控制器中的五个方法,控制器需要先注入StudentServices,才能使用services中的方法,控制器中,获取参数使用request中的getMore或者postMore来获取,到此调用对应的接口,就可以实现数据库简单的增删改查了。 ![](https://doc.crmeb.com/uploads/single/v52/20230915/36d86fd2c156421d6d2475933ba53278.png) 总结:系统中,每个层级是非常清楚的,controller用来接受和发送数据,services用来组合数据逻辑处理,dao层是用来对数据库的增删改查,model是数据库的模型类,弄懂了这些逻辑和文件层级,以后在在开发中会更方便和快捷。
请输入访问密码
开始访问