版权声明:本文为博主原创文章,未经博主允许不得转载。 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.只是学习笔记)