迅睿CMS框架是一款PHP8高性能·簡(jiǎn)單易用的CMS開(kāi)源開(kāi)發(fā)框架,基于MIT開(kāi)源許可協(xié)議發(fā)布,免費(fèi)且不限制商業(yè)使用,是免費(fèi)開(kāi)源的產(chǎn)品,以萬(wàn)端互聯(lián)為設(shè)計(jì)理念,支持的微信公眾號(hào)、小程序、APP客戶(hù)端、移動(dòng)端網(wǎng)站、PC網(wǎng)站等多終端式管理系統(tǒng)。
聯(lián)系官方銷(xiāo)售客服
1835022288
028-61286886
數(shù)據(jù)庫(kù)操作的時(shí)候 \Phpcmf\Service::M()->db->table('1_shop')->where('num',$num)->where('id', $id)->update(['num'=>$num2]); 如果不滿(mǎn)足更新條件更新失敗返回什么,有沒(méi)有事務(wù)封裝的方法
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 {
不滿(mǎn)足條件
}
回復(fù)迅睿框架創(chuàng)始人 是這樣的,我用模塊添加了一個(gè)num庫(kù)存字段,用戶(hù)每提交一次就庫(kù)存值減一
$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沒(méi)有憑證
接著下面我會(huì)將這個(gè)模塊內(nèi)容的id更新到用戶(hù)提交的表單里的一個(gè)字段,證明領(lǐng)取對(duì)應(yīng)的內(nèi)容優(yōu)惠券成功
現(xiàn)在的問(wèn)題是,如果我沒(méi)有庫(kù)存,始終返回true,我下面針對(duì)表單用戶(hù)提交后對(duì)他提交的表單數(shù)據(jù)更新時(shí)有可能同一時(shí)間別的用戶(hù)提交了已經(jīng)把這個(gè)內(nèi)容的庫(kù)存消耗完了,會(huì)導(dǎo)致庫(kù)存異常問(wèn)題,所以這里存在無(wú)法判斷更新?tīng)顟B(tài)導(dǎo)致下面更新有可能邏輯錯(cuò)誤
回復(fù)迅??蚣軇?chuàng)始人 而且,更新失敗為什么不是返回false,而是都返回true
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 {
不滿(mǎn)足條件
}
回復(fù)迅睿框架創(chuàng)始人 是這樣的,我用模塊添加了一個(gè)num庫(kù)存字段,用戶(hù)每提交一次就庫(kù)存值減一
$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沒(méi)有憑證
接著下面我會(huì)將這個(gè)模塊內(nèi)容的id更新到用戶(hù)提交的表單里的一個(gè)字段,證明領(lǐng)取對(duì)應(yīng)的內(nèi)容優(yōu)惠券成功
現(xiàn)在的問(wèn)題是,如果我沒(méi)有庫(kù)存,始終返回true,我下面針對(duì)表單用戶(hù)提交后對(duì)他提交的表單數(shù)據(jù)更新時(shí)有可能同一時(shí)間別的用戶(hù)提交了已經(jīng)把這個(gè)內(nèi)容的庫(kù)存消耗完了,會(huì)導(dǎo)致庫(kù)存異常問(wèn)題,所以這里存在無(wú)法判斷更新?tīng)顟B(tài)導(dǎo)致下面更新有可能邏輯錯(cuò)誤
回復(fù)迅??蚣軇?chuàng)始人 而且,更新失敗為什么不是返回false,而是都返回true