业务经理

微信扫描以上二维码

028-61286886

技术咨询

数据库操作时,不满足更新条件更新失败

迅睿框架 更新 2020-07-14 18:27:01 李志杰

数据库操作的时候  \Phpcmf\Service::M()->db->table('1_shop')->where('num',$num)->where('id', $id)->update(['num'=>$num2]); 如果不满足更新条件更新失败返回什么,有没有事务封装的方法

方案

  • 迅睿框架创始人 #1 · 2020-07-14 17:53:28
    满意答案
    if (\Phpcmf\Service::M()->db->table('1_shop')->where('num',$num)->where('id', $id)->countAllResults()) {\Phpcmf\Service::M()->db->table('1_shop')->where('num',$num)->where('id', $id)->update(['num'=>$num2]);} else {不满足条件}
  • 李志杰 #2 · 2020-07-14 18:07:59
    回复迅睿框架创始人 是这样的,我用模块添加了一个num库存字段,用户每提交一次就库存值减一 $rt=\Phpcmf\Service::M()->db->table('1_shop')->where('id',$id)->get(); $row = $rt->getRowArray(); $num=$row['num']; $num2=$num-1; $rt=\Phpcmf\Service::M()->db->table('1_shop')->where('num',$num)->where('id', $id)->update(['num'=>$num2]); //模块这里就是不管更新失败还是成功都是返回true没有凭证 接着下面我会将这个模块内容的id更新到用户提交的表单里的一个字段,证明领取对应的内容优惠券成功 现在的问题是,如果我没有库存,始终返回true,我下面针对表单用户提交后对他提交的表单数据更新时有可能同一时间别的用户提交了已经把这个内容的库存消耗完了,会导致库存异常问题,所以这里存在无法判断更新状态导致下面更新有可能逻辑错误
  • 李志杰 #3 · 2020-07-14 18:11:27
    回复迅睿框架创始人 而且,更新失败为什么不是返回false,而是都返回true
  • 李志杰 #4 · 2020-07-14 18:27:01
    迅睿框架创始人:6666666666666

迅睿系统漏洞

AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
全站模块搜索
全站模块搜索(2026-10-28)
实现全模块一次性搜索内容,一键搜索全站内容精准搜索全部模块:
PHPCMSV9数据转换
PHPCMSV9数据转换(2026-10-28)
PHPCMS转入迅睿CMS操作步骤:https://www.xunr...
域名授权系统
域名授权系统(2026-10-28)
后台增加前台访问地址链接
GeoSeo收录宝
GeoSeo收录宝(2026-10-28)
1 优化 BreadcrumbList 前端输出item细节 ...
自定义单页
自定义单页(2026-10-28)
增加批量设置url地址 URL规则和分页规则改为页面编辑界面 低...