public function setPositions($ids, $column, $start) { $model = $this->getOwner(); $table = $model->tableName(); $priorities = array(); foreach ($ids as $id) { $priorities[$id] = $start--; } $case = SqlHelper::arrToCase('id', $priorities, $model->getTableAlias()); $in = SqlHelper::in('id', $ids, $model->getTableAlias()); $c = Yii::app()->db->commandBuilder->createSqlCommand("UPDATE {$table} AS t SET t.{$column} = {$case} WHERE {$in}"); $c->execute(); }