这是否适用于yii 2中的DeleteAll

时间:2017-09-13 04:00:11

标签: yii yii2

此语法是否适用于Yii 2删除所有查询?

Model::deleteAll('something is NULL && something2 is NULL');

基本上我希望它只删除匹配两者的行为null且something2为null。

提前致谢!

1 个答案:

答案 0 :(得分:0)

解决此问题的简单方法是首先编写一个返回所有行的查询,其中包含的内容为NULL&& something2是NULL' 。将所有这些行id存储在一个数组中,然后使用以下代码。

$model = Modelname::find()->where(['something' => null])->orWhere(['something2'=>null)->all();

$deletedIDs = [];

foreach($model as $model)
{
  array_push($deletedIDs,$model->id);
}

Modelname::deleteAll(['id' => $deletedIDs]);