Tp5.0 一个form表单对两个数表(无关联)的内容进行更新

呃呃呃呃呃,这个笔记做的有点想骂人,因为本来是一个很简单的操作,却因为我手册没有读熟,基础不够扎实,导致了困扰我好久。话不多说 先上图:

一个form 表单里面的数据是从两个数据表里用ajax面拿出来的(至于咋拿的,上一次笔记有写),这时对表单数据进行改动,然后重新存入数据库。。。。

提交过来的数据是这样的(很明显在一个数组里面),

这个时候先用Tp手册里的方法进行插入数据库:

 

 

这个时候原以为就完事了,nonono,出问题了,还要一个事物处理机制,不然当改了表1,表2却失败就完了。

所以测试代码就是这个

 public function edit()
    {
         $data=input('post.');
        $arr=$data['ago'];
        $data['ago']=$arr['id'];
        $EntrustModel = new EntrustModel();
        $StatusModel = new StatusModel();
        Db::startTrans();
                $res1=$EntrustModel->allowField(true)->save($data, ['E_num' => $data['E_num']]);
                $res2=$StatusModel->allowField(true)->save($arr, ['id' => $arr['id']]);
            if($res1&&$res2){
                Db::commit();
            }
        else{
            Db::rollback();
        }
        return  111;
        }

        }

    }

(添加事物的时候需要注意的点:1.数据库必须是innoDB;2.只是学习笔记)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值