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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36447759/article/details/81451597

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

一个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.只是学习笔记)

猜你喜欢

转载自blog.csdn.net/qq_36447759/article/details/81451597
今日推荐