Arrays 使用getArrayResult的Symfony2未返回正确的结果

Arrays 使用getArrayResult的Symfony2未返回正确的结果,arrays,symfony,one-to-many,query-builder,Arrays,Symfony,One To Many,Query Builder,我的代码是: return $this->repository->createQueryBuilder("z") ->select("absence","eleve","note") ->from("AppBundle:Absence", "absence") ->join("absence.eleve","eleve") ->join("eleve.notes","note")

我的代码是:

return $this->repository->createQueryBuilder("z")
        ->select("absence","eleve","note")
        ->from("AppBundle:Absence", "absence")
        ->join("absence.eleve","eleve")
        ->join("eleve.notes","note")
        ->getQuery()
        ->getArrayResult();
deposition.eleve是一个manytone关系,而eleve.notes是一个OneToMany关系,所以在经历了很多次之后,我注意到当我从manytone移动到OneToMany eleve.notes时,它是一个数组,总是包含一个对象,你能帮我弄清楚吗

这是一个结果示例:

{"absences":
    [
        {"id":1,"column1":"***","eleve":
            {"id":38,"notes":
                [
                    {"id":131,"note":10}
                ]
            }
        },
        {"id":2,"column1":"***","eleve":
            {"id":39,"notes":
                [
                    {"id":130,"note":5}
                ]
            }
        }
    ]
}
在中时,请执行以下操作:

return $this->repository->createQueryBuilder("z")
            ->select("eleve","note")
            ->from("AppBundle:Eleve", "eleve")
            ->join("eleve.notes","note")
            ->getQuery()
            ->getArrayResult();

它工作正常,每个eleve notes都是一个多对象数组。

存储库是Alieve存储库还是eleve存储库?我认为这并不重要,但我想确认一下。这是缺勤实体存储库,即使我使用return$this->Repository->createQueryBuilder(“缺勤”)->select(“缺勤”,“eleve”,“note”)->join(“缺勤”,“eleve”,“eleve”)->join(“eleve.notes”,“note”)->getQuery()->getArrayResult();我有同样的结果,你可以尝试leftJoin而不是join,但我认为这不会有帮助。也许看看生成的sql查询。但是你发布的内容看起来应该有用。是的,我的朋友,我尝试了leftJoin,但它没有帮助。请尝试使用添加
,检查此项:??