Репозитории в Doctrine - это фасад для хранения объектов, тогда как на самом деле это просто уровень абстракции для доступа к базе данных.Он не «удерживает» ни один из объектов, возвращаемых запросами.
Doctrine отслеживает объекты, которые были загружены в UnitOfWork, но единственный индекс, который он сохраняет, находится по идентификатору.Поэтому, если вы используете функцию find () для объекта, который уже загружен, он не попадет в базу данных, но любой другой запрос будет.
Хотя встроенного способа сделать то, что вы есть, нет.спрашивая, Doctrine позволяет вам создавать собственные классы репозитория, в которых вы можете реализовать это самостоятельно.Будьте осторожны, так как вы можете обнаружить, что некоторые из этих поисков в PHP будут медленнее, чем выполнение SQL-запроса.