1. 程式人生 > >Tp5.0 一個form表單對兩個數表(無關聯)的內容進行更新

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.只是學習筆記)