thinkphp6是一款非常优秀的php开发框架,它基于mvc架构,开发效率高、易上手、安全可靠,同时极大简化了代码编写的流程。今天,我们来谈一下使用thinkphp6实现多选删除的方法。
一、前言
多选删除是现代Web应用程序的常见功能之一。它允许用户在数据表格或列表中选择多个项目,然后可以删除它们。在这篇文章中,我们将介绍如何使用thinkphp6的控制器和模型来实现这个功能。
二、建立数据库
首先,我们需要在MySQL数据库中建立一个示例表。我们将使用命令行工具或phpMyAdmin来完成这个步骤。
CREATE TABLE example_table (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
email varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;这将创建一个名为“ example_table”的新表,其中包含id,name和email字段。
三、生成模型和控制器
接下来,我们需要根据上面创建的表结构来生成一个模型和一个控制器。
使用thinkphp6的Artisan命令行工具可以快速生成这些文件:
php think make:model ExampleModel --migration
运行上述命令将生成一个新的模型文件( app /Model/ExampleModel.php )和一个新的数据库迁移文件( database /migrations /yyyymmddhhmmss_create_example_model.php )。
php think make:controller ExampleController
运行上述命令将生成一个名为ExampleController.php的新文件( app /Controller/ExampleController.php )。
四、编写代码
现在我们已经准备好编写控制器代码来处理多选删除了。在控制器中,我们需要实现两个主要的action函数:index(用于显示所有数据)和delete(用于处理删除请求)。
在app /Controller /ExampleController.php文件中,添加以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
acadeView;
use thinkRequest;
use appmodelExampleModel;
class ExampleController
{
public function index()
{
$list = ExampleModel::all();
return View::fetch(index, [
list => $list,
]);
}
public function delete(Request $request)
{
$ids = $request->param(ids);
foreach ($ids as $id) {
ExampleModel::destroy($id);
}
return [status => success, message => 删除成功];
}
}
在上面的代码中,我们首先导入了类,并定义了两个函数index和delete。函数index用于从ExampleModel中获取所有数据,并将其传递到模板中。函数delete从HTTP请求中获取要删除的ID列表,并使用ExampleModel::destroy方法删除这些项目。
接下来,我们需要为模板添加一个多选框以及删除按钮。打开app /View /example /index.html文件,添加以下代码: