插件窝 干货文章 如何在 ThinkPHP 5 中删除多个数据

如何在 ThinkPHP 5 中删除多个数据

删除 数据 方法 class 732    来源:    2024-10-26

thinkphp 5 中的数据操作非常方便,可以使用模型的 where 方法一次性删除多个数据。本文将介绍如何在 thinkphp 5 中删除多个数据。

准备工作

在开始之前,请确保您已经安装好了 ThinkPHP 5,并有一个测试数据库。本文以删除用户信息为例,首先需要创建一个 User 模型,如下所示:

<?php namespace app\index\model;

use think\Model;

class User extends Model
{
    // 定义主键和表名
    protected $pk = &#39;id&#39;;
    protected $table = &#39;user&#39;;
}

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-&gt;where('id', 'in', $ids)-&gt;delete();
    return $result;
}

上述代码中,where 方法的第一个参数为字段名,第二个参数为操作符,第三个参数为需要匹配的值,其中 in 操作符表示查找 id 字段的值在 $ids 数组中的数据。最后调用 delete 方法对匹配的数据进行删除操作。

立即学习“PHP免费学习笔记(深入)”;

测试删除多个数据

在控制器中编写测试代码:

public function deleteUsers()
{
    $ids = [1, 2, 3];
    $userModel = new User();
    $result = $userModel-&gt;deleteUsers($ids);
    if ($result) {
        return '删除成功';
    } else {
        return '删除失败';
    }
}

上述代码中,我们调用 deleteUsers 方法删除 ID 为 1、2、3 的用户数据。最后根据删除结果返回相应的信息。

结论

在 ThinkPHP 5 中删除多个数据非常方便,只需要使用 where 方法即可。如果您需要删除多个数据,请按照本文所述方法操作。