Php 多个关系的刷新上的Symfony记忆问题

Php 多个关系的刷新上的Symfony记忆问题,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,在我的symfony项目(5.x版本)中,我在meta和标记之间有一个简单的多个关系(没有定义fetch和cascade) 我可以有40000个meta具有相同的标记(例如“test”) 当我把“test”标记放到一个Meta上,然后持久化并刷新,所有与这个标记相关的Meta都被刷新。。。由于内存限制,返回一个500错误。 这种行为似乎与doc: 有人能解释一下吗? 谢谢 当您在条令中关联两个实体时,您有一个拥有方和一个反向方,在更新拥有方条令时,将保存所有链接的反向方。在相反的情况下,不会保存

在我的symfony项目(5.x版本)中,我在meta和标记之间有一个简单的多个关系(没有定义fetch和cascade)

我可以有40000个meta具有相同的标记(例如“test”)

当我把“test”标记放到一个Meta上,然后持久化并刷新,所有与这个标记相关的Meta都被刷新。。。由于内存限制,返回一个500错误。 这种行为似乎与doc:

有人能解释一下吗?
谢谢

当您在条令中关联两个实体时,您有一个拥有方和一个反向方,在更新拥有方条令时,将保存所有链接的反向方。在相反的情况下,不会保存任何内容

在这里,拥有方是Tag(由=“tags”反转),这意味着只有在更新标记时才会发生更新


您应该反转mappedBy和inversedBy目标类。

由于我们有一个elasticsearch数据库,允许我们获取标记的所有元,我终于找到了一个令人振奋的解决方案:使关系单向


我仍然存在内存问题,无法颠倒关系。
class Meta
{
    ...

    /**
     * @ORM\ManyToMany(targetEntity="Tag", mappedBy="meta")
     * @ORM\OrderBy({"name" = "ASC"})
     */
    protected $tags;
}
class Tag
{
    ...

    /**
     * @ORM\ManyToMany(targetEntity="Meta", inversedBy="tags")
     * @ORM\JoinTable(name="app_meta_tag")
     * @ORM\JoinColumn(name="meta_id")
     */
    protected $meta;
}