企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## **数据删除自动处理** 数据删除同样也只需要一行代码`$this->_delete('表名');` 前端只需要传入数据表的主键就可以了,不需要做额外处理。 ### **1. 硬删除** 如果数据表中不存在`is_deleted`字段,则为硬删除。 ### **2. 软删除** 当前数据表中存在`is_deleted`字段时,`$this->_delete`则自动为软删除操作, 在列表操作时加上条件过滤下就可以正常操作。 #### 数据回调处理 对于数据删除的结果,可以进行自定义处理,回调函数规则如:`[_ACTION]_delete_result` 下面提供一个完整的demo: ```php /** * 删除系统权限 * @auth true */ public function remove() { $this->applyCsrfToken(); $this->_delete($this->table); } /** * 删除结果处理 * @param boolean $result * @throws \think\Exception * @throws \think\exception\PDOException */ protected function _remove_delete_result($result) { if ($result) { $where = ['auth' => $this->request->post('id')]; Db::name('SystemAuthNode')->where($where)->delete(); $this->success("权限删除成功!", ''); } else { $this->error("权限删除失败,请稍候再试!"); } } ``` 如果是在 ThinkAdmin 后台基于 admin.js 的情况下,可台使用 data-action 来与 $this->_delete 配合使用。 前端提交上来的主键值支持多个,以英文逗号分隔。