2010-11-08 4 views
2

Я пытаюсь запросить базу данных mssql с помощью Doctrine. Я настроил соединение, построил схему из базы данных и построил классы. Все шло гладко, но теперь, когда я пытаюсь запрос к базе данных:Идентификатор чувствительности столбца Doctrine

symfony doctrine:dql "from TABLE_NAME" 

Я получаю сообщение об ошибке Invalid имени столбца «имя_столбец», потому что наш сервер базы данных MSSQL настроен использовать Case Sensitive и UPPER имен столбцов СЛУЧАЯ, тогда как доктрина заставляет все имена столбцов быть строчными. Как создать доктрину для сохранения чувствительности (лучше) или сделать ее верхним регистром?

+0

с использованием 1.2 или 2.0 версии? –

+0

Doctrine Version 1.2 – Dziamid

ответ

3

взгляд на ссылку

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/configuration/en

$conn->setAttribute(Doctrine_Core::ATTR_PORTABILITY, 
     Doctrine_Core::PORTABILITY_FIX_CASE) 
+0

В руководстве говорится: «Случай зависит от параметра field_case, который может быть установлен как CASE_LOWER (по умолчанию), так и CASE_UPPER». Где установить параметр field_case? – Dziamid

+0

$ conn-> setAttribute (Doctrine_Core :: ATTR_FIELD_CASE, CASE_UPPER); –

+0

Это не помогает мне. Я тщательно проверил все, но имена столбцов по-прежнему строчные. Вы пробовали это? Есть ли другой способ решить проблему? Может быть, настроить крюк, когда запрос будет построен и сделать strtoupper вручную? – Dziamid

Смежные вопросы