yii2 刪除數據


直接 model 刪除

$model = User::find($id);
$model->delete();

帶有條件的刪除

$connection ->createCommand()
            ->delete('tbl_user', 'status = 0')
            ->execute();

使用 Query 查詢刪除

$connection ->createCommand('DELETE FROM tbl_user WHERE userid=:userid')
            ->execute();

使用預處理語句刪除

方法一

$model = $connection->createCommand('DELETE FROM tbl_user WHERE userid=:userid');
$model->bindParam(':userid', $userid);
$userid = 5;
$model->execute();

方法二

在 Yii2 使用預處理語句刪除多個用戶。

$model = $connection->createCommand('DELETE FROM tbl_user WHERE userid=:userid');
$model->bindParam(':userid', $userid);
// delete user 1
$userid = 1;
$model->execute();
// delete user 2
$userid = 2;
$model->execute();

查找並且刪除

$user = User::findOne(2);
$user->delete();
// 輸出語句
// DELETE FROM `tbl_user` WHERE `id`='2'

deleteAll() 刪除多個

如果你不指定任何條件下,該方法將刪除表中的所有行。例如刪除用戶表中狀態條件是 active 和年齡大於20的用戶。

方法一

User::deleteAll('status = :status AND age > :age', [':age' => 20, ':status' => 'active']);
//Output Query
//DELETE FROM `tbl_user` WHERE status = 'active' AND age > 20

方法二

User::deleteAll([
        'and',
        'type = :type_id',
        ['not in', 'usercategoryid', $categoriesList]
    ],
    [
        ':type_id' => 2
    ]);
//Output Query
//DELETE FROM `tbl_user` WHERE (type = 2) AND (`usercategoryid` NOT IN (1, 2, 3))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM