在doctrine mongodb ODM结果中添加和删除元素 - PHP

时间:2012-08-15 21:57:22

标签: php symfony-2.1 doctrine-odm

如何删除和添加由doctrine的odm返回的结果的元素。例如,

我有查询

$fruits = $dm->createQueryBuilder('Fruits') ->field('id')->in($fruit_list) ->getQuery()->execute();

$ fruits返回的是一个数组,然后我需要迭代这个 经过一些分析后,对一些水果进行排序入围名单是 不可能通过查询生成器,我需要返回筛选 结果

我想问一下如何从odm返回的这个对象中删除元素。

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解你,我假设你试图从ODM返回的实体中删除一些字段。

我会关闭水合作用并使用一个简单的阵列。

示例:

$fruits = $dm->createQueryBuilder('Fruits')
             ->field('id')
             ->in($fruit_list)
             ->hydrate(false) /* Turn off hydration */
             ->getQuery()->execute();

现在你要做的就是使用unset并从数组中删除所需的元素。

答案 1 :(得分:0)

当你在$fruits上进行迭代并做出筛选决定时,创建一个ArrayCollection并添加所有进行剪切的对象并返回而不是光标。