国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman-admin 中的crud的增刪改需不需要事務(wù)加try-catch提交或回滾

kele

問題描述

看fastadmin源碼中crud基類中的 增刪改 使用了事務(wù)加try-catch提交或回滾, webman-admin的crud基類的 增刪改 好像直接就自動提交了, 有什么區(qū)別嗎? 基礎(chǔ)一般請賜教^^

fastadmin 的新增

$result = false;
Db::startTrans();
try {
    //是否采用模型驗證
    if ($this->modelValidate) {
        $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
        $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
        $this->model->validateFailException()->validate($validate);
    }
    $result = $this->model->allowField(true)->save($params);
    Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
    Db::rollback();
    $this->error($e->getMessage());
}
if ($result === false) {
    $this->error(__('No rows were inserted'));
}
$this->success();

webman-admin 的新增

$primary_key = $this->model->getKeyName();
$model_class = get_class($this->model);
$model = new $model_class;
foreach ($data as $key => $val) {
    $model->{$key} = $val;
}
$model->save();
return $primary_key ? $model->$primary_key : null;
1194 2 0
2個回答

tanhongbin

操作單個表,你加事務(wù)干啥??事務(wù)都是都個表才有需要,你看admin都是單個表,所以不需要事務(wù)

  • kele 2023-04-14

    所以, 如果是多表操作的話在重寫crud基類方法的時候還是使用事務(wù)的是吧

ersic

這個沒標(biāo)準(zhǔn),看業(yè)務(wù)需求

年代過于久遠(yuǎn),無法發(fā)表回答
??