如何从yii2

时间:2019-02-06 16:24:42

标签: yii2

我想从数据库中删除更新的值。就像是否在班级表中的 notice列中插入了通知,而我想将其删除。那么yii2中的查询将是什么?请帮助-

$model = Class::find()->where('id', $id)->one;
$model->delete();

以上查询适用于-

DELETE FROM class WHERE id = $id;

我想在yii2中编写类似的查询-

DELETE notice FROM class WHERE id = $id;

2 个答案:

答案 0 :(得分:1)

如果您使用主键进行搜索,则可以使用

$model = Class::findOne($id);

然后,要删除(设置为null)通知字段,只需使用

$model->notice = NULL;
$model->save();

请注意,如果notice属性是必需的或不为null,则保存将失败。

答案 1 :(得分:0)

Yii允许您直接执行SQL命令 https://www.yiiframework.com/doc/api/2.0/yii-db-command

$query = "DELETE notice FROM class WHERE id = {$id}";
Yii::$app->db->createCommand($query)->execute();