diff --git a/extend/catcher/base/CatchRepository.php b/extend/catcher/base/CatchRepository.php index 3b2b697..933ee1b 100644 --- a/extend/catcher/base/CatchRepository.php +++ b/extend/catcher/base/CatchRepository.php @@ -17,6 +17,7 @@ namespace catcher\base; * @method updateBy(int $id, array $data) * @method findBy(int $id, array $column = ['*']) * @method deleteBy(int $id) + * @method disOrEnable(int $id) * @method startTrans() * @method rollback() * @method commit() diff --git a/extend/catcher/traits/db/BaseOptionsTrait.php b/extend/catcher/traits/db/BaseOptionsTrait.php index 7f1f8bf..6fff23e 100644 --- a/extend/catcher/traits/db/BaseOptionsTrait.php +++ b/extend/catcher/traits/db/BaseOptionsTrait.php @@ -155,4 +155,23 @@ trait BaseOptionsTrait { return sprintf('%s.%s', $this->getTable(), $field); } + + /** + * 禁用/启用 + * + * @time 2020年06月29日 + * @param $id + * @param string $field + * @return mixed + */ + public function disOrEnable($id, $field='status') + { + $model = $this->findBy($id); + + $status = $model->{$field} == self::DISABLE ? self::ENABLE : self::DISABLE; + + $model->{$field} = $status; + + return $model->save(); + } }