thinkphp 5 中的數(shù)據(jù)操作非常方便,可以使用模型的 where 方法一次性刪除多個(gè)數(shù)據(jù)。本文將介紹如何在 thinkphp 5 中刪除多個(gè)數(shù)據(jù)。
準(zhǔn)備工作
在開始之前,請確保您已經(jīng)安裝好了 ThinkPHP 5,并有一個(gè)測試數(shù)據(jù)庫。本文以刪除用戶信息為例,首先需要?jiǎng)?chuàng)建一個(gè) User 模型,如下所示:
<?php namespace appindexmodel; use thinkModel; class User extends Model { // 定義主鍵和表名 protected $pk = 'id'; protected $table = 'user'; }
User 模型對應(yīng)的數(shù)據(jù)庫表結(jié)構(gòu)如下:
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;
刪除多個(gè)數(shù)據(jù)
在 User 模型中添加一個(gè) deleteUsers 方法,該方法接受一個(gè)數(shù)組參數(shù),數(shù)組中包含需要?jiǎng)h除的用戶 ID。該方法使用 where 方法來刪除多個(gè)數(shù)據(jù),如下所示:
public function deleteUsers($ids) { $result = $this->where('id', 'in', $ids)->delete(); return $result; }
上述代碼中,where 方法的第一個(gè)參數(shù)為字段名,第二個(gè)參數(shù)為操作符,第三個(gè)參數(shù)為需要匹配的值,其中 in 操作符表示查找 id 字段的值在 $ids 數(shù)組中的數(shù)據(jù)。最后調(diào)用 delete 方法對匹配的數(shù)據(jù)進(jìn)行刪除操作。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
測試刪除多個(gè)數(shù)據(jù)
在控制器中編寫測試代碼:
public function deleteUsers() { $ids = [1, 2, 3]; $userModel = new User(); $result = $userModel->deleteUsers($ids); if ($result) { return '刪除成功'; } else { return '刪除失敗'; } }
上述代碼中,我們調(diào)用 deleteUsers 方法刪除 ID 為 1、2、3 的用戶數(shù)據(jù)。最后根據(jù)刪除結(jié)果返回相應(yīng)的信息。
結(jié)論
在 ThinkPHP 5 中刪除多個(gè)數(shù)據(jù)非常方便,只需要使用 where 方法即可。如果您需要?jiǎng)h除多個(gè)數(shù)據(jù),請按照本文所述方法操作。