执行顺序:

beforeDel(控制器) → onDelBefore(模型) → onDelAfter(模型) → onDelAfter(控制器)

方式一:控制器

  1. <?php
  2. namespace app\controller;
  3. use app\BaseController;
  4. /**
  5. * 人员控制器
  6. */
  7. class User extends BaseController
  8. {
  9. use \tpScriptVueCurd\base\controller\Controller;
  10. public function init(): void
  11. {
  12. $this->title='人员信息';
  13. $this->md=\app\model\User::make($this);
  14. }
  15. /**
  16. * 删除前执行
  17. * @param array $ids 根据请求id,返回要删除的数据id
  18. * @return array
  19. */
  20. protected function beforeDel(array $ids): array
  21. {
  22. throw new \think\Exception('此处抛出异常将会终止删除,并提示此处抛出的异常');
  23. return $ids;
  24. }
  25. /**
  26. * 删除后执行
  27. * @param \think\Collection $delInfos 已删除的数据信息
  28. * @return void
  29. */
  30. protected function afterDel(\think\Collection $delInfos): void
  31. {
  32. throw new \think\Exception('此处抛出异常将会终止删除,并提示此处抛出的异常');
  33. }
  34. }

方式二:模型

<?php
namespace app\model;
use think\model\Collection;
use tpScriptVueCurd\base\model\BaseModel;
use tpScriptVueCurd\field\RadioField;
use tpScriptVueCurd\field\StringField;
use tpScriptVueCurd\FieldCollection;

class User extends BaseModel
{

    /**
     * 表字段配置
     * @return FieldCollection
     */
    public function fields(): FieldCollection
    {
        return new FieldCollection([
            StringField::init('name','姓名'),
            RadioField::init('sex', '性别'),
        ]);
    }

    /**
     * 删除数据前
     * @param Collection $delList 要删除的数据
     * @return void
     */
    protected function onDelBefore(Collection $delList): void
    {
        throw new \think\Exception('此处抛出异常将会终止删除,并提示此处抛出的异常');
    }

    /**
     * 删除数据后
     * @param Collection $delList 已删除的数据
     * @return void
     */
    protected function onDelAfter(Collection $delList): void
    {
        throw new \think\Exception('此处抛出异常将会终止删除,并提示此处抛出的异常');
    }
}