--- a/application/p/logic/NutritionTime.php +++ b/application/p/logic/NutritionTime.php @@ -120,7 +120,15 @@ // if(!$delete_able[$params['uuid']]){ // throw new Exception("此服用时间已被应用,不能改变状态"); // } - $ret = $this->model->modify($params['uuid'], ['status'=>$params['status']]); + if (ltrim((string)config('database.type'), '\\') === \app\cores\database\Dm::class + && in_array($params['status'], [0, 1, '0', '1'], true)) { + $ret = $this->model->modifyByWhere( + ['uuid' => $params['uuid'], 'status' => ['<>', $params['status']]], + ['status' => $params['status']] + ); + } else { + $ret = $this->model->modify($params['uuid'], ['status'=>$params['status']]); + } if (!$ret) { throw new Exception("状态修改失败"); } --- a/application/p/logic/Nutrition.php +++ b/application/p/logic/Nutrition.php @@ -404,7 +404,15 @@ // if($is_exist){ // throw new Exception("此分类已被应用,不能改变状态"); // } - $ret = $this->modelSet->modify($uuid, ['status'=>$status]); + if (ltrim((string)config('database.type'), '\\') === \app\cores\database\Dm::class + && in_array($status, [0, 1, '0', '1'], true)) { + $ret = $this->modelSet->modifyByWhere( + ['uuid' => $uuid, 'status' => ['<>', $status]], + ['status' => $status] + ); + } else { + $ret = $this->modelSet->modify($uuid, ['status'=>$status]); + } if (!$ret) { throw new Exception("修改失败"); }