yii2 - 如何删除 Yii2 中的行?

标签 yii2

我想根据某些条件删除数据库中的一行。我试过这样

$fanclub        =   FanClub::find()->where(['user_id'=>$userid])->
            andwhere(['crew_member_id'=>$id])->one();
            if($fanclub)
            {
                $fanclub->delete();
            }

这是删除数据库中一行的正确方法吗?

最佳答案

使用模型 ( ActiveRecord ) 时,是的,这是正确的方法。

您可以使用 $model->delete()用于删除模型。结果,相关表中的相应行将被删除。

您可以使用 beforeDelete()afterDelete()事件处理程序与此方法一起处理一些与删除相关的任务。

不使用模型的替代方案:

\Yii::$app
    ->db
    ->createCommand()
    ->delete('users', ['id' => 1])
    ->execute();

或者
use yii\db\Query;

...

(new Query)
    ->createCommand()
    ->delete('users', ['id' => 1])
    ->execute();

关于yii2 - 如何删除 Yii2 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31672033/

相关文章:

php - Yii Framework 2.0 GridView 和来自连接表的数据

jquery - Yii 2 GridView访问当前行及其列内容并通过ajax更新行

php - 从 Mysql 迁移到 Postgresql Yii2 查询

php - 什么是 0, 1, . , * 在此 Yii2 文档图像中

php - 在 Yii2 的 Controller 中同时使用 beforeAction() 和 behavior() 方法

php - 在 yii2 中使用 ajax 填充或填充所有字段

php - Yii2 ActiveRecord 模型最佳实践

php - 如何在没有关系的情况下在 Yii2 上显示名称而不是 id

php - Yii2 的嵌套集为 foreach() 提供的参数无效

mysql - ON 子句中的条件条件