$post = I('post.'); $id = $post['id'];unset($post['id']); if($id){ $res = $Ticket->where(['id'=>$id])->save($post); }else{ $post['addtime'] = NOW_TIME; $post['sid'] = parent::$adminid; $id = $res = $Ticket->add($post); } if(!empty($post['ticket_code']) && $post['ticket_type']==1 && $id){ $code = explode('<br />', nl2br(trim($post['ticket_code']))); foreach ($code as $key => $value) { $code[$key] = trim($value); } $code = array_unique($code); #去掉重复的值 $TicketCode = M('ticket_code'); $ticket = $TicketCode->where(['tid'=>$id])->select(); $newcode = []; #原来的特权码记录信息 if(!empty($ticket)){ #不为空 foreach ($code as $key => $value) { foreach ($ticket as $k => $v) { if($value == $v['code']){ $newcode[] = $v; unset($code[$key]); } } } } $delRes = $TicketCode->where(['tid'=>$id])->delete(); #删除该特权优惠券下的原来的特权码 $incode = ['sid'=>parent::$adminid,'tid'=>$id,'addtime'=>NOW_TIME]; foreach ($code as $key => $value) { unset($code[$key]); $code[$key] = $incode; $code[$key]['code'] = $value; } $newarr = array_merge($code,$newcode); foreach ($newarr as $key => $value) { $TicketCode->add($value); } unset($post['ticket_code']); #清空 } $this->msg(1,'特权优惠券编辑成功'); 编辑添加一条数据之前数据库情景:
![]()
编辑添加一条数据之后数据库情景:
如此可见,tp框架中的add方法中是可以传入主键id的值的,并且其返回值仍是该主键id。
当然如果不传入主键id值,则会生产一条新的记录产生一个新的主键id值,并返回该主键id值
有关于TP框架中add方法的一些不得不记录的细节
最新推荐文章于 2023-08-07 00:58:13 发布