gpt4 book ai didi

symfony - 教义 : Fetch "EAGER" and "Hydrate Array"

转载 作者:行者123 更新时间:2023-12-02 14:32:36 25 4
gpt4 key购买 nike

使用 Doctrine,我的实体中有 fetch=EAGER :

class TrainingOrganization
{
/**
* @var TrainingOrganizationVersion[]|ArrayCollection
*
* @ORM\OneToMany(
* targetEntity="AppBundle\Entity\TrainingOrganizationVersion",
* mappedBy="trainingOrganization",
* cascade={"persist"},
* fetch="EAGER"
* )
* @ORM\OrderBy({"id" = "ASC"})
* @Assert\Valid()
* @Versionable
*/
private $versions;

为什么当我执行“水合物阵列”时它不起作用?

同一实体的转储屏幕(第二个是“Hydrate array”):

enter image description here

最佳答案

使用水合模式Query::HYDRATE_ARRAY,Doctrine 将仅返回有关该“行”的信息。由于您的 versions 属性不是字段而是集合,因此不会返回它。

如果您想包含集合,请改用对象(如您的第一个屏幕截图)。

如果您确实需要序列化实体(返回多维数组而不是对象),请使用序列化程序。由于您使用的是 Symfony,因此您可以轻松使用 Symfony 的 Serializer ComponentJMSSerializerBundle是一种流行的替代方案。

关于symfony - 教义 : Fetch "EAGER" and "Hydrate Array",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com