我想根据某些条件删除数据库中的一行.我试过这样的
$fanclub = FanClub::find()->where(['user_id'=>$userid])->
andwhere(['crew_member_id'=>$id])->one();
if($fanclub)
{
$fanclub->delete();
}
Run Code Online (Sandbox Code Playgroud)
这是删除数据库中的行的正确方法吗?
aro*_*hev 21
使用models(ActiveRecord
)时,是的,这是正确的方法.
您可以使用$model->delete()
删除模型.结果,相关表中的相应行将被删除.
您可以使用beforeDelete()
和afterDelete()
事件处理程序一起使用此方法来处理与删除相关的一些任务.
不使用模型的替代方案:
\Yii::$app
->db
->createCommand()
->delete('users', ['id' => 1])
->execute();
Run Code Online (Sandbox Code Playgroud)
要么
use yii\db\Query;
...
(new Query)
->createCommand()
->delete('users', ['id' => 1])
->execute();
Run Code Online (Sandbox Code Playgroud)
Esl*_*med 15
你可以用这种方式
ProjectEmployee::deleteAll(['and',
[ 'employee_id'=>$this->id],
['in', 'project_id', [2,5,7]]]
);
Run Code Online (Sandbox Code Playgroud)
但请注意,这可用于根据以下条件删除单行或多array
行in
归档时间: |
|
查看次数: |
34859 次 |
最近记录: |