Doctrine orm 检查记录是否有引用

Doctrine orm 检查记录是否有引用,doctrine-orm,Doctrine Orm,我想知道是否有办法找出一个记录是否有引用 我拥有以下实体: class Item extends Entity { /** * @Id @GeneratedValue * @Column(name="id") */ protected $id; /** * @OneToMany(targetEntity="Citation", mappedBy="citation") */ protected $citedIn;

我想知道是否有办法找出一个记录是否有引用

我拥有以下实体:

class Item extends Entity
{
    /**
     * @Id @GeneratedValue
     * @Column(name="id")
     */
    protected $id;

    /**
     * @OneToMany(targetEntity="Citation", mappedBy="citation")
     */
    protected $citedIn;

    /**
     * @Column(name="stamped", type="boolean")
     */
    protected $stamped;

    /** ... rest of the code ... */

}
我要执行以下检查:

$qb
    ->select("
        COUNT(i.id),
        WHEN (i.stamped = true) THEN 'stamped'
        WHEN (i.citedIn IS NOT NULL) THEN 'cited'
        ELSE 'just started'
        END current_status
    ")
    ->from(Entity\Item::class, 'i')
    ->groupBy('current_status');

请注意,我试图使用
I.citedIn不为NULL
,但它不起作用。我可以用什么来代替呢?

因为它是一个
OneToMany
关系,我认为您需要使用
不是空的
而不是
不是空的
。条令将为每个实体创建一个空的ArrayCollection,因此从技术上讲,它不是null,因为它是一个空数组

更新 如果不起作用,请尝试
不要使用你的app\Model\引文的实例