thinkphp 5 中的数据操作非常方便,可以使用模型的 where 方法一次性删除多个数据。本文将介绍如何在 thinkphp 5 中删除多个数据。
在开始之前,请确保您已经安装好了 ThinkPHP 5,并有一个测试数据库。本文以删除用户信息为例,首先需要创建一个 User 模型,如下所示:
<?php namespace app\index\model; use think\Model; class User extends Model { // 定义主键和表名 protected $pk = 'id'; protected $table = 'user'; }
User 模型对应的数据库表结构如下:
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL DEFAULT '', `password` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在 User 模型中添加一个 deleteUsers 方法,该方法接受一个数组参数,数组中包含需要删除的用户 ID。该方法使用 where 方法来删除多个数据,如下所示:
public function deleteUsers($ids) { $result = $this->where('id', 'in', $ids)->delete(); return $result; }
上述代码中,where 方法的第一个参数为字段名,第二个参数为操作符,第三个参数为需要匹配的值,其中 in 操作符表示查找 id 字段的值在 $ids 数组中的数据。最后调用 delete 方法对匹配的数据进行删除操作。
立即学习“PHP免费学习笔记(深入)”;
在控制器中编写测试代码:
public function deleteUsers() { $ids = [1, 2, 3]; $userModel = new User(); $result = $userModel->deleteUsers($ids); if ($result) { return '删除成功'; } else { return '删除失败'; } }
上述代码中,我们调用 deleteUsers 方法删除 ID 为 1、2、3 的用户数据。最后根据删除结果返回相应的信息。
在 ThinkPHP 5 中删除多个数据非常方便,只需要使用 where 方法即可。如果您需要删除多个数据,请按照本文所述方法操作。