2012-05-05 2 views
2

Я следую вместе с Agile Web Application Development with Yii 1.1 and PHP5, работая над проектом «TrackStar». Для жизни я не могу понять, где моя проблема. я получаю исключение:CActiveDataProvider не разрешает параметры в критериях

CDbCommand не удалось выполнить оператор SQL: SQLSTATE [HY093]: Неверный номер параметра: параметр не был определен. Оператор SQL выполняется было: SELECT COUNT (*) FROM tbl_issuet WHERE project_id =: ProjectID

Оказывается (для интерпретации этого нуб в), что PARAMS в моем CActiveDataProvider некоторые как не решения в критериях, как и в вид:

(in /protected/controllers/ProjectController.php) 

55   public function actionView() 
56   { 
57    $issueDataProvider = new CActiveDataProvider('Issue', array(
58     'criteria' => array(
59      'condition' => 'project_id=:projectId', 
60      'params' => array(':projectId=' => $this->loadModel()->id), 
61    ), 
62     'pagination' => array( 
63      'pageSize' => 1, 
64    ),  
65   )); 
66    $this->render('view',array(
67      'model'=>$this->loadModel(), 
68      'issueDataProvider' => $issueDataProvider, 
69   )); 
70   } 

Я проверил мой код против github repo и я не мог найти какие-либо различия в любом месте. Есть ли что-то прямое, мне не хватает здесь, без необходимости публиковать весь мой код (и попросить кого-нибудь просмотреть его)?

ответ

3

Похоже, у вас есть ошибка в параметрах ваших критериев. (= после: проектId). справа утверждение

'params' => array(':projectId' => $this->loadModel()->id), 

Params массив список значений параметров запроса индексированных параметров заполнителей. Например, массив (': name' => 'Dan', ': age' => '31').

+0

geez ... целый день на этом. Спасибо.. :) –

Смежные вопросы