2012-05-05 3 views
2

"TrackStar"プロジェクトで作業中のAgile Web Application Development with Yii 1.1 and PHP5に従っています。私の人生のために、私の問題がどこにあるのか理解できません。 私は例外を取得しています:CActiveDataProviderが基準内のパラメータを解決しない

CDbCommandは、SQL文の実行に失敗しました:SQLSTATE [HY093]:無効なパラメータ番号:パラメータが定義されていませんでした。文が実行されたSQLは:SELECT COUNT(*)PROJECT_ID = tbl_issuet FROM:PROJECTID

は、私のCActiveDataProvider内のparamsは、いくつかの方法のような基準に解決されていないこと(このnoobのの解釈に)表示されます表示:

(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

あなたの条件のparamsに間違いがあります。 (=後:projectId)。 右の文は

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

params配列は、パラメータプレースホルダでインデックス化クエリパラメータ値のリストです。たとえば、array( ':name' => 'Dan'、 ':age' => '31')などです。

+0

geez ...それで一日中。ありがとうございました.. :) –

関連する問題