我想根据某些条件删除数据库中的一行。我试过这个
$fanclub = FanClub::find()->where(['user_id'=>$userid])->
andwhere(['crew_member_id'=>$id])->one();
if($fanclub)
{
$fanclub->delete();
}
这是删除数据库中某行的正确方法吗?
答案 0 :(得分:19)
使用模型(@import libxml;
)时,是的,这是正确的方法。
您可以使用ActiveRecord
删除模型。结果,相关表格中的相应行将被删除。
您可以将$model->delete()
和beforeDelete()
事件处理程序与此方法一起使用来处理与删除相关的一些任务。
不使用模型的替代方案:
afterDelete()
或
\Yii::$app
->db
->createCommand()
->delete('users', ['id' => 1])
->execute();
答案 1 :(得分:1)
$x = Yii::$app->db->createCommand("
DELETE FROM group_members
WHERE group_id = '$id'
AND member_id = '$usr'
")->execute();
答案 2 :(得分:1)
首先获得记录,但是您可以直接进行记录
if (limit != null || pageby != null) { .. }
答案 3 :(得分:-1)
您可以使用这种方式
ProjectEmployee::deleteAll(['and',
[ 'employee_id'=>$this->id],
['in', 'project_id', [2,5,7]]]
);