php – 用于检查Doctrine2中是否存在关系的技术

前端之家收集整理的这篇文章主要介绍了php – 用于检查Doctrine2中是否存在关系的技术前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Doctrine文档中似乎没有提到如何检查一个实体是否与另一个实体存在关系:

http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html

在教义1.x中有一种称为存在的方法,可以在一个实体上调用以检查:

http://www.doctrine-project.org/documentation/manual/1_2/en/working-with-models#dealing-with-relations:clearing-related-records

在Doctrine 2.0中,这是我所倾向于做的.其他人使用什么技术?

<?PHP

class Group    {
    private $id;
    protected $name;
    protected $users;

    public function __construct()
    {
        $this->colorgroups = new ArrayCollection();
    }

    public function hasUsers() {
        return count($this->users) > 0;
    } 
}
嗯 – 我实际上偶然发现了正确的答案,同时查看了ArrayCollection类.你应该使用’isEmpty’方法.

代码(评论是他们的,而不是我的)

/**
 * Checks whether the collection is empty.
 * 
 * Note: This is preferrable over count() == 0.
 *
 * @return boolean TRUE if the collection is empty,FALSE otherwise.
 */
public function isEmpty()
{
    return ! $this->_elements;
}

所以从我的例子

public function hasUsers() {
        return !$this->users->isEmpty();
}

猜你在找的PHP相关文章