• 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))
  • 相关阅读:
    第一章:简介
    2018年10月底新公司
    第四章:集成
    第三章:如何建模服务
    第二章:演化架构师
    第一章:微服务
    4、工厂模式
    5、单例模式
    8、模板方法模式
    3、字典介绍
  • 原文地址:https://www.cnblogs.com/l-zl/p/7071276.html
Copyright © 2020-2023  润新知