Doctrine 2 вводит данные в загруженные модели - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть модель Doctrine 2, которая имеет отношение к модели файловой системы (MogileFS), которую я реализовал с использованием подхода модель / картограф. То, что я пытаюсь сделать, - это лениво загрузить не-доктринную модель из сущности Doctrine 2 и при этом внедрить объект mapper в эту модель.

Пример:

use Doctrine\ORM\Tools\Pagination\Paginator;
$dql = "SELECT p, c FROM BlogPost p JOIN p.comments c";
$query = $entityManager->createQuery($dql)
                   ->setFirstResult(0)
                   ->setMaxResults(100);

$paginator = new Paginator($query, $fetchJoin = true);

$c = count($paginator);
foreach ($paginator as $post) {
  // TODO Should use injected mapper to do find() 
  // and lazy load model when not set
    echo $post->getThumbnailFileModel() . "\n";
}

Как я могу настроить хук загрузки сущностей, который будет вставлять мой modelMapper в сущность для того, чтобы ленивая загрузка работала?

1 Ответ

1 голос
/ 25 февраля 2012

Мне удалось решить эту проблему с помощью прослушивателя событий @postLoad.

Для справки см. http://docs.doctrine -project.org / projects / doctrine-orm / en / 2.0.x / reference/events.html

...