我一直在四处寻找并且找不到任何有用的东西。
我的问题是;我无法设置不区分大小写的标准ORDER(A a b B D d)。因为当我尝试从数据库中获取记录时,由于ascii问题(A B C a b c),它的排序不正确
我想设置这样的ORDER标准;
Criterias::setCriterias(Array('ORDER' => 'UPPER(name)'));
但推进并不允许我使用UPPER设置标准 所以我必须这样设置它;
Criterias::setCriterias(Array('ORDER' => 'name'));
我找到了可能有用的东西,这个功能正在做我想要的事情;
setIgnoreCase(true)
此功能即将出现一个新问题。如果我在没有WHERE的情况下设置ORDER标准,它将像魅力一样工作。但如果我将'WHERE'和'ORDER'设置在一起,推进会给我错误。
致命错误:未捕获的异常 'PropelException',消息'Unable 执行SELECT语句[] [wrapped:无法获取TableMap undefined table:]'in /usr/local/share/pear/propel/query/ModelCriteria.php:1153 堆栈跟踪:#0 /usr/local/share/pear/propel/query/ModelCriteria.php(1019): ModelCriteria-> getSelectStatement(NULL)
感谢。
答案 0 :(得分:1)
这在Propel 1.6.x中已修复。我推了几个测试证明:https://github.com/propelorm/Propel/commit/3fc74ccffb05931ec3187b0dcff77dce732ef325