我收到Persitent Collection而不是ArrayCollection

时间:2014-09-30 06:49:17

标签: php symfony arraycollection

我想查看数据库中的记录是否有相关照片。但是,当我拨打$car->getCarPhotos()时,我会获得Doctrine\ORM\PersistentCollection的实例,而var_dump显示的内容与汽车相同,而汽车则没有car_photos。我的问题在哪里?求你帮帮我。

2 个答案:

答案 0 :(得分:1)

那么困扰你的是什么?它应该在两种情况下都返回你的集合。检查汽车是否有相关照片:

if ($car->getCarPhotos()->isEmpty()) {
    // Car has no photos
} else {
    // Car has photos
}

答案 1 :(得分:1)

应该是评论,但代码很糟糕。

您可以在模型中添加一些方法,以便能够告诉您是否附有任何照片。

/**
 * Check if this car has any attached photos
 *
 * @return boolean
 */
public function hasPhotos()
{
    return false === $this->carPhotos()->isEmpty();
}

可以称为if ($car->hasPhotos())

/**
 * Count how many photos this car has.
 *
 * @return integer
 */
public function getNbCarPhotos()
{
    return $this->carPhotos()->count();
}

可以将其称为if ($car->getNbPhotos() > 0)if ($car->getNbPhotos() !== 0)