您如何删除元素并将其添加到教义的 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 并从数组中删除所需的元素。