我想根据某些条件删除数据库中的一行。我试过这样
$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/