2015-10-19 5 views
0

У меня есть функция. получить результат таблицы (результат = 0) и обновить одно значение таблицы от 0 до 1. Я использую update query.i, запустил эту функцию для возврата ошибки :: Отсутствует аргумент 2 для CDbCommand :: update().Ошибка Yii foreach?

public function newdisplaycontent() 
{ 
    $count = Yii::app()->db->createCommand() 
     ->select() 
     ->from('scrolltable') 
     ->where('result=:result', array(':result'=>0)) 
     ->queryAll(); 
$rs=array(); 
//print_r($count); 

foreach($count as $item){ 
//process each item here 
    $rs=$item['ID']; 
    $user=Yii::app()->db->createCommand() 
    ->update("scrolltable SET result = 1") 
    ->where('ID=:id', array(':id'=>$rs)); 
} 

return $rs; 
} 

спасибо за вашу помощь .. особенность

ответ

3

Правильный синтаксис update() будет, как показано ниже:

$user=Yii::app()->db->createCommand() 
->update("scrolltable",array("result" => "1")) 
->where('ID=:id', array(':id'=>$rs)); 

В качестве официального документа:

update() Создает и выполняет ОБНОВЛЕНИЕ SQL-оператора. Метод будет правильно удалять имена столбцов и связывать значения, которые необходимо обновить.

public integer update(string $table, array $columns, mixed $conditions='', array $params=array ()) 
+0

благодарит за работу – Kannan