[top-think/think]软删除在连贯操作->where()->delete()下无效吗?

2023-12-27 852 views
3

前端肯定要判断记录是否属于当前客户, 那就会在model里写这样的代码,->where(['id'=>$id, 'uid'=>session('uid')]),删除的话就顺手往后面加->delete(),测了几次, delete调用后是真删, 又去看了下model的delete方法和destroy方法, destroy是先查询,再用结果去delete, 一对比大概就明白了, 连贯操作的时候是$this->db()->where()->delete()了。 这样是有点费劲哈, 难道要在model里写$model = $this->get($where); $model->delete() ?

回答

8

当然有效

3

请你仔细测试后再来反馈,可以么?

5

3 mpjwrz jtf a54 5mw 4mp n9oqs p 3bc tf 1

测试了啊, 连贯操作真的是直接删了。 关联模型字段那个是我搞错了,我删掉了

1

软删除是模型的功能 不是数据库的功能 所以必须使用模型提供的删除方法(一样支持条件)