NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
TransAction 事务操作数据库 >配置事务操作Debug > config('minienjoy.DB_TransActionDebug') [TOC] ### 添加数据返回ID ``` $data1=[ 'username' => 'raymond123xx', 'password' => 1 ]; $trans = new TransAction(); $trans->insertGetId('user',$data1,'User'); trans->getId(); ``` ### 添加数据 ``` $data2=[ 'uid' => $trans->getId()]; $trans->insert('user_extra',$data2); ``` ### 更新数据 #### 无验证规则更新 ``` $newData=['nickname'=>'qxx','noname'=>'没有该字段']; $map= [ 'uid' => ['=',$trans->getId()] ]; $trans->update('user_extra',$newData,$map); ``` #### 有验证规则更新 1. 更新字段唯一性【DEMO 邮箱和手机唯一】 2. 注意点:更新数据data里面【必须】添加主键; * 验证场景 ~~~ /** * 验证规则 * @var array */ protected $rule = [ 'email|邮箱' => 'require|email|unique:user', 'mobile|手机号' =>'require|mobile|unique:user', ]; /** * 验证错误信息 * @var array */ protected $message = [ 'email.require' => '邮箱不能为空', 'email.email' => '邮箱格式错误', 'email.unique' => '邮箱已经存在了,换个邮箱', 'mobile.require' => '手机号不能为空', 'mobile.mobile' => '手机号码格式不正确', 'mobile.unique' => '手机号码已经存在了,换个号码', ]; ~~~ * 更新数据 ~~~ $updateData=[ 'id'=>1,//更新数据含有唯一性判断必须添加主键,其他可以不需要添加 'email'=>'16544@qq.com',//邮箱唯一 'mobile'=>'15112229287',//手机唯一 ]; ~~~ * 事物DEMO ~~~ $map = array('id' => ['=',$vo->id]); $updateData = ['mobile'=>$vo->mobile,'email'=>$vo->email,'id'=>$vo->id,]; $trans->update($this->tableName,$updateData,$map,$validate,'update'); ~~~ ### 批量数据 ``` $data=[ ['name'=>1], ['name'=>2] ] $trans->insertAll('tableName',$data); ``` ### 删除数据 ``` $delMap=new Where(); $delMap['user_id']=$userId; $trans->delete('auth_role_access',$delMap); ``` ### 执行事务 ``` $trans->execute($this); ``` ### 返回错误 ``` show_dump($trans->getErrorList()); ```