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,但它没有帮助。请尝试使用添加
,检查此项:??