powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Doctrine2 проблема с NativeSQL
6 сообщений из 6, страница 1 из 1
Doctrine2 проблема с NativeSQL
    #37979308
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую Doctrine2. В работе в некоторых местах нужно использовать специфичные запросы которые на DQL реализовать либо проблематично, или того не стоит, по этому юзаю NativeSQL.
Сами запросы правильные и работают нормально, всё корректно отрабатывает за исключением одного маленького НО (очень не приятного) все поля возвращаемые в фетче возвращаются как строка , идентификаторы(INTEGER) и .т.д.

Все типы настроены верно, в базе типы правильные.

Вроде бы не критично, но я это всё скидываю в json_encode, который совершенно логично их квотит, при этом когда получаю результат в JS там всё это добро трактуется как строка...

Можно конечно руками разбирать ID и прочие цифровые поля, можно по регулярным выражениям квоты убирать, но это уже костыли, которые очень не желательны.

Есть ли нормальное решение этой проблемы?
...
Рейтинг: 0 / 0
Doctrine2 проблема с NativeSQL
    #37979905
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помоему нет. ибо это сам MYSQL так возвращает. можешь написать постобработку которая по конфигу доктрины будет приводить типы.
...
Рейтинг: 0 / 0
Doctrine2 проблема с NativeSQL
    #37979947
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowможешь написать постобработку которая по конфигу доктрины будет приводить типы.
тогда наверное проще через ResultSetMapping сделать связку с полями объекта по идее в этом случае приведение сделает сама доктрина, но минус в том что это несколько изменит структуру ответа.

В моем случае наверное останусь на "костылях" замена по регулярному выражению (чтоб структуру не менять).
...
Рейтинг: 0 / 0
Doctrine2 проблема с NativeSQL
    #37979958
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знатный будет костылек
...
Рейтинг: 0 / 0
Doctrine2 проблема с NativeSQL
    #37979981
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettзнатный будет костылек не то слово, спасает только то что там гарантировано d+ будет только для числовых идентификаторов.
Благо костыль будет только локально.
...
Рейтинг: 0 / 0
Doctrine2 проблема с NativeSQL
    #37981462
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то руки дошли попробовать нормально решить проблему. Получилось...

Решается действительно через ResultSetMapping. Правда у меня ответ NativeSQL не подходил под сущ. Entity так что пришлось фиктивную Entity заводить.

Код: php
1.
2.
3.
4.
5.
$rms = new ResultSetMapping;
        $rms->addEntityResult('Acme\Entity\OneClass', 'c');
        $rms->addFieldResult('c', 'id', 'id');        
        $rms->addFieldResult('c', 'field1', 'field1');
// и т.д.



Кроме того надо не забывать что private & protected поля без доп. телодвижений не будут попадать в json_encode
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Doctrine2 проблема с NativeSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]