1
我的問題與this question(試圖使用CDbCriteria
的列名爲key
,它是reserved word in MySQL)中的問題完全相同。然而,provided solution:構造列名爲MySQL保留字的CDbCriteria
$criteria = new CDbCriteria;
$criteria->condition = 't.key=:key';
$criteria->params = array(':key'=>$this->key);
$criteria->compare('position', $this->position);
$criteria->compare('dictionary', $this->dictionary);
只對我有效。我不再例外,但搜索僅適用於key
列。所有其他都將被忽略(如果設置了key
,僅在搜索時僅考慮此值,如果未設置 - 總是返回空結果集)。
我錯過了什麼?我應該如何構造CDbCriteria
查詢,當我的表格包含作爲列名稱的存儲單詞時,搜索也會尊重所有其他(非保留)列,而不僅僅是這一列?
謝謝您的回覆!我接受你的答案,因爲沒有其他答案。然而,我必須指出,我沒有使用(也沒有測試過)你的解決方案,因爲我發現(在Yii論壇上)[這個問題更容易解決](http://www.yiiframework.com/forum/ index.php/topic/55459-construct-cdbcriteria-with-column-name-as-mysql-reserved-words/page__view__findpost__p__253543) - '$ criteria-> compare('t.key',$ this-> key); '。工作得很好。 – trejder
謝謝:)它的工作原理,我有秩序關鍵字類似的問題,這也是一種做法,明確使用表名稱也有效 – Manquer