Я работал с 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, но я хочу знать, почему доктрина делает это.
У меня работают другие объекты, но этот кажется поврежденным. Я попытался удалить объект и создать его заново, но ничего. Я не думаю, что проблема заключается в драйвере оракула, и единица работы в доктрине пуста до выбора, так что этого не может быть. Может быть, это таблица, в которой есть что-то странное от создания. Я не могу удалить его и создать снова, поэтому я буду придерживаться QueryBuilder.
Я не совсем знаком с тем, как работает oracle db,... но есть ли в вашей таблице уникальный ключевой индекс? Я не удивлюсь, если доктрина использует первичный ключ таблицы, чтобы отложить отдельные записи.






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