ZF2 + Doctrine 2 + MongoDB,添加自定义保湿剂到分页

时间:2013-11-21 18:08:03

标签: php mongodb doctrine-orm pagination zend-framework2

我在zend框架2项目中工作。

在我的听众的fetchAll中,我有:

    $artifacts = $this->documentManager->createQueryBuilder('App\Document\Artifact')
        ->hydrate(true)
        ->getQuery()
        ->execute();

    $paginatorOrm = new DoctrinePaginator($artifacts);
    $paginatorZend = new Paginator($paginatorOrm);
    return $paginatorZend;

这段代码工作正常,我可以看到所有工件的分页集合。问题是:

  • 如果是hydrate(true):Doctrine ORM生成一个AppDocumentArtifactHydrator.php文件来保存对象,我在输出中看到一个包含所有工件的所有信息的分页集合。
  • 如果是hydrate(false):那么我会看到一个包含工件所有字段的JSON结构。

如何将自己的Hydrator添加到$ artifactsCollection? (在集合中,对于每个工件,我只想给出自己的名称,ID和链接。)

几个月前,我在一个类似的项目中工作,使用ZF2 + Doctrine 2 + MySQL,我可以在onBootstrap中创建

$entityManager->getConfiguration()->addCustomHydrationMode('MyHydrator', 'MyApp\Hydrators\MyEntity');

一切正常。现在我正在尝试做同样的事情,但我没有使用$ entityManager $documentManager,而且我看不到这个选项。

有什么想法吗?

谢谢!

0 个答案:

没有答案