Сообщение об ошибке Symfony php createQueryBuilder добавляет WHERE

Я переместил приложение с PHP5 на сервер PHP7. Он работает почти гладко, за исключением ошибки при создании компилятора запросов. У меня есть форма, в которой я беру элементы от пользователя сущности и хочу их упорядочить. Как видите, в моем запросе нет WHERE:

->add('user', 'entity', array(
                'class' => 'MyappAppliBundle:User',
                'property' => 'name',
                'required' => false,
                'empty_value' => '',
                'empty_data' => null,
                'query_builder' => function (EntityRepository $br) {
                    return $br->createQueryBuilder('qb')
                        ->orderBy('qb.name', 'ASC');
                }

Однако когда я пытаюсь открыть форму, появляется следующее сообщение об ошибке:

[Syntax Error] line 0, col 55: Error: Expected Literal, got 'ORDER'

SELECT qb FROM Myapp\AppliBundle\Entity\User qb WHERE ORDER BY qb.name AS

Я не понимаю, почему здесь добавлено ГДЕ!

Если я удалю createQueryBuilder, форма отобразится идеально (за исключением того, что пользователи не отсортированы), в противном случае у меня появится сообщение об ошибке.

Если бы у кого-то была идея, это было бы здорово!

Большое спасибо

Обновлено: я использую symfony2 (если быть точным, версия 2.3.9!)

Обновлено еще раз: Я перешел на symfony2.7 и немного изменил добавление:

->add('user', 'entity', array(
                'class' => 'MyappAppliBundle:User',
                'choice_translation_domain' => true,
                'choice_label' => 'name',
                'required' => false,
                'placeholder' => '',
                'empty_data' => null,
                'query_builder' => function (EntityRepository $br) {
                    return $br->createQueryBuilder('qb')
                        ->orderBy('qb.name', 'ASC');
                }
            ))

Однако у меня все еще есть та же проблема с этим WHERE, который, кажется, исходит из ниоткуда.

Вы должны предоставить больше информации, например, какую версию Symfony вы используете.

iiirxs 05.09.2018 15:45

Привет, я не знаю, видели ли вы мою правку, но я использую Symfony 2.3.9.

StaP 06.09.2018 09:04

Для информации, я перешел на 2.7, но все еще получаю то же сообщение об ошибке. Я не понимаю, откуда ГДЕ ...!

StaP 06.09.2018 13:07

Вы должны попробовать отладить его. дамп ($ br-> createQueryBuilder ('qb') -> getDQL ()); и дамп ($ br-> createQueryBuilder ('qb') -> orderBy ('qb.name', 'ASC') -> getDQL ());

iiirxs 06.09.2018 13:22

вау, это странно. Он дает правильный запрос SELECT qb FROM Myapp \ AppliBundle \ Entity \ User qb ORDER BY qb.name ASC. Однако сообщение об ошибке все еще существует. Я действительно не понимаю, что здесь происходит.

StaP 06.09.2018 17:13

Вы уверены, что правильно очистили кеш?

iiirxs 06.09.2018 17:14

Я использовал rm -rf app / cache / * и rm -rf app / logs / cache, я также пробовал sudo php app / console cache: clear, но все та же проблема

StaP 06.09.2018 17:39

Может быть, у ваших продавцов обновите композитор?

iiirxs 06.09.2018 18:10

какой тогда продавец? Процесс, которым я следовал для своего проекта, был следующим: у меня был проект на ubuntu14 php5 symfony 2.3, мой ИТ-провайдер создал новую машину ubuntu18 php7 и импортировал проект как есть. У меня начались проблемы. Итак, я попытался обновить Symfony до 2.7, но проблема не исчезла. Может быть, возникла проблема при переустановке процесса?

StaP 06.09.2018 18:39

Позвольте нам продолжить обсуждение в чате.

iiirxs 06.09.2018 19:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
10
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение. я имел

"doctrine/orm": "2.2.*"

в моем composer.json ... Я изменил его на

"doctrine/orm": ">=2.2.*"

Я запустил composer update, и он обновил doctrine / orm до 2.5.14. Теперь проблема решена!

Спасибо за помощь!

Другие вопросы по теме