gpt4 book ai didi

php - CActiveDataProvider 没有解析标准中的参数

转载 作者:行者123 更新时间:2023-12-04 05:47:48 25 4
gpt4 key购买 nike

我跟着 Agile Web Application Development with Yii 1.1 and PHP5 ,从事“TrackStar”项目。对于我的生活,我无法理解我的问题在哪里。
我得到了异常(exception):

CDbCommand failed to execute the SQL statement: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined. The SQL statement executed was: SELECT COUNT(*) FROM tbl_issue t WHERE project_id=:projectId



看来(对于这个菜鸟的解释)我的 CActiveDataProvider 中的参数在标准中没有像 View 中那样解析:
(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 检查了我的代码而且我在任何地方都找不到任何差异。
是否有一些简单的我在这里遗漏而无需发布我的所有代码(并让有人真正查看它)?

最佳答案

看起来您的标准参数有错误。 (= 在 :projectId 之后)。
正确的说法是

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

Params 数组是由参数占位符索引的查询参数值列表。例如,array(':name'=>'Dan', ':age'=>'31')。

关于php - CActiveDataProvider 没有解析标准中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com