Доктрина findBy() повторяет n раз одну и ту же строку

Я работал с symfony и доктриной в прошлом году и ничего подобного не встречал.

Итак, у меня есть простая таблица оракула и сущность доктрины с идентификатором, 3 varchars и без отношений. Репозитория тоже нет:

[Configuracion]  id  |  nombre  |  descripcion  |  valor
                 1     'rgpd'     'Codigos rgps'    '2p'
                 2     'motivo' 'Motivos de visita' '2p'
                ...      ...            ...         ...

Я могу persist() и find() без проблем. При выполнении поиска:

$result = $entityManager->getRepository(Configuracion::class)->findBy(array('valor'=>'2p'))

а затем dump($result) повторяется одна и та же строка:

[Configuracion]  id  |  nombre  |  descripcion  |  valor
                 1     'rgpd'     'Codigos rgps'    '2p'
                 1     'rgpd'     'Codigos rgps'    '2p'
                ...      ...            ...         ...

Если я добавлю в базу данных пять различных элементов, результат будет пять раз повторять одну и ту же строку. Если я удалю эту строку, для клонирования потребуется следующая. Я знаю, что мог бы вместо этого попробовать QueryBuilder или NativeQuery, но я хочу знать, почему доктрина делает это.

Doctrine не должна этого делать и не будет делать это, используя mysql как db (я в этом почти уверен), поэтому я полагаю, что это проблема с oracle db в сочетании с доктриной, или вам нужно настроить доктрину, чтобы она знала, что вы используя oracle db (или oracle db нуждается в специальной конфигурации)..., но я знаю, что вы должны сообщить доктрине, что вы используете mariadb, а не mysql, чтобы ожидать такого же поведения, поэтому я думаю, что это может быть решением

Nickolaus 06.03.2019 19:30

У меня работают другие объекты, но этот кажется поврежденным. Я попытался удалить объект и создать его заново, но ничего. Я не думаю, что проблема заключается в драйвере оракула, и единица работы в доктрине пуста до выбора, так что этого не может быть. Может быть, это таблица, в которой есть что-то странное от создания. Я не могу удалить его и создать снова, поэтому я буду придерживаться QueryBuilder.

Elio García González 07.03.2019 17:33

Я не совсем знаком с тем, как работает oracle db,... но есть ли в вашей таблице уникальный ключевой индекс? Я не удивлюсь, если доктрина использует первичный ключ таблицы, чтобы отложить отдельные записи.

Nickolaus 07.03.2019 18:51
Стоит ли изучать 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 и хотите разрабатывать...
1
3
93
0

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