php - CDbCriteria addConditions where 子句不明确

标签 php mysql yii

我想按日期过滤记录,所以我添加了

createDate BETWEEN ' . $dateRange['start'] . ' AND ' . $dateRange['end']

按照我的标准,但我得到:

CDbCommand failed to execute the SQL statement: 
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'createDate' in where clause is ambiguous

这是我的代码:

     $criteria=new CDbCriteria;
                $criteria->with = array(
                        'Contacts' => array('alias'=> 'Contacts', 'together' => true, ),
                        'Lisings' => array('alias'=> 'listings', 'together' => true, ),
                    );
     $criteria->addCondition('createDate BETWEEN ' . $dateRange['start'] . ' AND ' . $dateRange['end']);

     $result = Model::model('Portfolio')->findAll($criteria);

有什么提示可以修复此错误吗?我也尝试过portfolio.createDate,但它不起作用。

谢谢

最佳答案

在 Yii 1 中,模型表被别名为 t 所以你应该使用:

$criteria->addCondition('t.createDate BETWEEN ' . $dateRange['start'] . ' AND ' . $dateRange['end']);

关于php - CDbCriteria addConditions where 子句不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42409990/

相关文章:

php - Yii 中 Bootstrap Modal 和 Select2 的问题

php - 如果现有 mysql 数据重复或更多,如何编辑 "unique"

php - 从数据库获取表名并输出到html表供下载

mysql - 导入大型 SQL 转储时遇到问题

c# - Take() 抛出 Not Implemented Exception Entity Framework 6 with MySQL

javascript - Ajax 提交错误

php - 如何在 <li> yii bootstrap navbar 中的 <a> 标签中添加一个类

php - 哪个更快?

php - 具有 pdo 的数据库类,在继承时不应重新启动连接

mysql - MySQL并发写入及测试解决方案