CRMEB标准版社交电商演示 CRMEB 标准版
CRMEB Pro高性能私域管理电商系统演示 CRMEB Pro版
CRMEB多店连锁加盟电商管理系统 CRMEB 多店版
多商户 PHP版
多商户 Java版
CRMEB Java开源商城系统 CRMEB Java版
CRMEB 开源外贸版电商系统 CRMEB 外贸版
CRMEB知识付费系统 知识付费
陀螺匠
产品 演示网址 账号 密码

CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

CRMEB微信扫码咨询

微信扫码咨询

微信扫码咨询

招商代理 招商代理 CRMEB开源商城下载 开源下载
返回顶部 返回顶部
CRMEB客服
CRMEB论坛
微商城开发从创建数据表到实现最基础增删改查的实现过程全解
技术分享
网上零售商城
微商城
2022-10-10
12058

很多使用了商城系统的童鞋在进行二开的时候都会遇到新建了数据表之后不知道对数据表怎么进行操作那么这篇文章将带你完整的实现一遍以后就不会怕啦

一、创建数据表

就以最简单的为例创建一个学生的信息表

创建数据表模型文件

程序中创建数据表对应的model文件目录在app/model该目录下的文件夹是以功能模块进行分类的我们先创建一个test文件夹创建数据表模型Student.php文件

该模型类必须要继承BaseModel但是可以不使用ModelTrait里面仅实现了三个方法如果不需要的话可以不用引用

然后设置数据表主键

1. protected $pk = 'id';  

设置数据表名称

1. protected $name = 'student';  

设置完成之后Model会和数据表进行关联是程序对表进行操作的重要一个环节创建完成model类之后接下来我们开始完成Dao层数据操作的功能实现

创建dao层数据库操作文件

app/dao文件下创建test文件夹并创建StudentDao.phpDao层文件

创建完成之后需要继承BaseDao并设置之前创建的Student模型

1. protected function setModel(): string  

2. {  

3.     return Student::class;  

4. }

在这里我们对数据表的增删改查分别写一个方法查询分为多条和单条一共五个方法

使用$this->getModel()方法可以获取在上方设置的模型实例化对象该文件下的所有方法都可以使用此方法进行模型的实例化

1、 新增数据时使用 $this->getModel()->save($data);即可实现数据的新增逻辑$data为想要新增的数据数组类型

2、 对于数据的查询分为单条和多条查询我们在这里分为两个方法去实现同理使用

$this->getModel()->where($where)->find();可以实现单条查询的逻辑$where是查询的条件例如$where = [‘name’=>’张三’]这个条件就是查询name姓名为张三的数据对象如果使用主键进行单条查询可以直接使用$this->get($id)的方法获取

多条数据查询如果不分页的情况下写法和单条一样只是将find()改为select()如果需要分页查询需要传入pagelimit当前页数和每页条数然后进行分页查询

其中when判断了当pagelimit传入的数据都大于0的时候才会进行分页查询如果传入0或者不传则默认查询全部的数据

3、 修改数据修改数据需要传入一个条件和一个需要修改的数组变量根据条件去修改对应的数据$where负责查询对应的数据将对应的数据修改成$data里面携带的参数注意$where$data里面的数组键必须是数据表里面存在的字段此方法可以修改单条或者多条取决于$where的查询是单条还是多条会返回被修改的数据条数

4、 删除数据如果数据表里面设置的删除的字段可以使用修改的方法将字段进行修改做到软删除如果需要直接删除数据则可是使用delete()方法

四、创建services层数据处理文件

app/services文件下创建test文件夹并创建StudentServices.phpservices层文件创建完成之后需要继承BaseServices并注入StudentDao

本次我们不对数据做任何处理只是实现数据表的增删改查所以services文件中可以直接写好对应的调用也可以不用写对应的方法系统会自动找到dao层的方法进行处理

五、创建控制器以及路由文件

路由文件增加对应五个方法的路由添加查询单条查询多条修改删除

对应控制器中的五个方法控制器需要先注入StudentServices才能使用services中的方法控制器中获取参数使用request中的getMore或者postMore来获取到此调用对应的接口就可以实现数据库简单的增删改查了

总结CRMEB系统每个层级是非常清楚的controller用来接受和发送数据services用来组合数据逻辑处理dao层是用来对数据库的增删改查model是数据库的模型类弄懂了这些逻辑和文件层级以后在在开发中会更方便和快捷

您如果还想了解更多标准版的功能技术规则等问题,可以关注CRMEB官网-行业新闻。有更多实用的技术知识为您分享!

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
添加官方客服微信
CRMEB公众号二维码

联系客服 领取源码+接口文档🎁