Мне просто любопытно, почему такого события не существует. Есть ли для этого очевидная причина, которую я не вижу, или существует какой-то обходной путь?
Почему в Doctrine2 нет события preLoad?
comment
У меня нет ответа, но мне тоже любопытно :) Что бы вы сделали перед загрузкой?
- person AlterPHP   schedule 24.08.2012
comment
Я пытался сделать что-то необычное, изменив SQL прямо перед оператором select, но понял, что это можно сделать с помощью фильтров SQL :)
- person Reza S   schedule 25.08.2012
Ответы (1)
Ну это очевидно с моей точки зрения.
postLoad — событие postLoad происходит для объекта после того, как объект был загружен в текущий EntityManager из базы данных или после того, как к нему была применена операция обновления.
Поскольку во время так называемого состояния preLoad у вас нет никаких сущностей - почему вы хотите ничего не модифицировать чем-то?
person
Vitalii Zurian
schedule
24.08.2012
Вот причина, почему это было бы полезно. По сути, добавление соединения к объекту, чтобы избежать ленивой загрузки, если оно когда-либо вызывалось без надлежащих соединений.
- person Chadwick Meyer; 02.11.2015
Вы знаете, postLoad вызывается после того, как фактические данные были собраны. Но в случае, если я использую пользовательский тип (например, FileType) и хочу установить путь и другие кадры в событии postLoad, а для сравнения в наборах изменений я хочу использовать не данные из моего пользовательского типа, а данные, которые были установлены postLoad мероприятие. И это невозможно
- person wtorsi; 05.07.2018
Предоставление информации о локали объекта перед загрузкой данных было бы одним из сценариев, в котором предварительная загрузка была бы интересной функцией.
- person DerpyNerd; 18.08.2019