ManyToOne 级联删除由于 OrderBy 注解而失败

问题描述 投票:0回答:1

我有两个实体:一个 Annonceur 可以有多个 Publicite,一个 Publicite 由一个 Annonceur 拥有:

赞助商实体:

    /**
     * @ORM\OneToMany(targetEntity=Publicite::class, mappedBy="annonceur", orphanRemoval=true, cascade={"remove"})
     * @ORM\OrderBy({"id" = "RAND"})
     */
    private $publicites;

OrderBy
注释用于以随机顺序获取Publicite。

公共实体:

    /**
     * @ORM\ManyToOne(targetEntity=Annonceur::class, inversedBy="publicites")
     */
    private $annonceur;

在我的控制器中,当我想删除 Annonceur 上的实例时,我收到此错误消息:

Doctrine\ORM\Persisters\Exception\InvalidOrientation: Invalid order by orientation specified for App\Entity\Publicite#id in /home/sami/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Exception/InvalidOrientation.php:13

删除

OrderBy
注释可以解决问题,但我需要保留它!

php symfony doctrine
1个回答
0
投票

RAND() 不是 Doctrine 中的原生函数,不应该这样使用。 您必须在存储库中创建一个函数并调用此自定义函数。

© www.soinside.com 2019 - 2024. All rights reserved.