Пропустить регистронезависимый порядок по проблеме использования - PullRequest
1 голос
/ 16 марта 2011

Я искал несколько дней и не мог найти ничего полезного.

моя проблема; Я не смог установить критерии без учета регистра (A a b B D d). Потому что, когда я пытаюсь получить свои записи из БД, это не правильно упорядочивает, так как проблемы с ASCII (A B C a b c)

Я хочу установить мои критерии ЗАКАЗА следующим образом;

Criterias::setCriterias(Array('ORDER' => 'UPPER(name)'));

Но propel не позволяет мне использовать UPPER при настройке критериев.
Поэтому я должен установить это так:

Criterias::setCriterias(Array('ORDER' => 'name'));

Я нашел кое-что, что может помочь, эта функция делает то, что я хочу;

setIgnoreCase(true)

Новая проблема приходит с этой функцией. Если я установлю критерии ORDER без WHERE, он будет работать как шарм. Но если я установлю «ГДЕ» и «ЗАКАЗ» вместе, Propel выдаст мне ошибку.

Неустранимая ошибка: необработанное исключение «PropelException» с сообщением «Невозможно выполнить инструкцию SELECT [] [wrapped: не удалось получить TableMap для неопределенная таблица:] 'в /usr/local/share/pear/propel/query/ModelCriteria.php:1153 Трассировка стека: # 0 /usr/local/share/pear/propel/query/ModelCriteria.php(1019): ModelCriteria-> getSelectStatement (NULL)

Спасибо.

1 Ответ

1 голос
/ 25 июня 2012

Это исправлено в Propel 1.6.x. Я провел несколько тестов, чтобы доказать, что: https://github.com/propelorm/Propel/commit/3fc74ccffb05931ec3187b0dcff77dce732ef325

...