refactor(admin): enhance delete method to support custom primary keys

- Update delete method in Curd trait to accept Request parameter
- Add support for deleting multiple records using 'id' parameter
- Improve error handling for non-existent data
This commit is contained in:
wolfcode
2024-12-11 17:00:34 +08:00
parent 7470790657
commit 62f591045e
3 changed files with 7 additions and 3 deletions

View File

@@ -150,9 +150,10 @@ class Admin extends AdminController
/**
* @NodeAnnotation(title="删除")
*/
public function delete($id): void
public function delete(Request $request): void
{
$this->checkPostRequest();
$id = $request->post('id');
$row = $this->model->whereIn('id', $id)->select();
$row->isEmpty() && $this->error('数据不存在');
$id == AdminConstant::SUPER_ADMIN_ID && $this->error('超级管理员不允许修改');

View File

@@ -132,9 +132,10 @@ class Menu extends AdminController
/**
* @NodeAnnotation(title="删除")
*/
public function delete($id): void
public function delete(Request $request): void
{
$this->checkPostRequest();
$id = $request->post('id');
$row = $this->model->whereIn('id', $id)->select();
empty($row) && $this->error('数据不存在');
try {

View File

@@ -88,8 +88,10 @@ trait Curd
/**
* @NodeAnnotation(title="删除")
*/
public function delete($id): void
public function delete(Request $request): void
{
// 如果不是id作为主键 请在对应的控制器中覆盖重写
$id = $request->param('id', []);
$this->checkPostRequest();
$row = $this->model->whereIn('id', $id)->select();
$row->isEmpty() && $this->error('数据不存在');