从教义 mongodb ODM 结果中添加和删除元素 - PHP


Adding and removing elements from doctrine mongodb ODM results - PHP

您如何删除元素并将其添加到教义的 odm 返回的结果中。例如

我有疑问

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

返回$fruits是一个数组,然后我需要遍历这个经过一些分析后,排列并过滤一些水果。入围名单是无法通过查询构建器,我需要返回过滤后的结果。

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

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

我不确定我是否完全理解您,我假设您正在尝试从 ODM 返回的实体中删除某些字段。

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

例:

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

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