如何删除和添加由doctrine的odm返回的结果的元素。例如,
我有查询
$fruits = $dm->createQueryBuilder('Fruits')
->field('id')->in($fruit_list)
->getQuery()->execute();
$ fruits返回的是一个数组,然后我需要迭代这个 经过一些分析后,对一些水果进行排序入围名单是 不可能通过查询生成器,我需要返回筛选 结果
我想问一下如何从odm返回的这个对象中删除元素。
答案 0 :(得分:0)
我不确定我是否完全理解你,我假设你试图从ODM返回的实体中删除一些字段。
我会关闭水合作用并使用一个简单的阵列。
示例:
$fruits = $dm->createQueryBuilder('Fruits')
->field('id')
->in($fruit_list)
->hydrate(false) /* Turn off hydration */
->getQuery()->execute();
现在你要做的就是使用unset并从数组中删除所需的元素。
答案 1 :(得分:0)
当你在$fruits
上进行迭代并做出筛选决定时,创建一个ArrayCollection并添加所有进行剪切的对象并返回而不是光标。