Я получаю коллекцию Persitent вместо ArrayCollection

Я хочу посмотреть, есть ли в моей записи в базе данных похожие фотографии или нет. Но когда я звоню $car->getCarPhotos() Я получаю экземпляр Doctrine\ORM\PersistentCollection, а также var_dump показать тот же результат для автомобиля, у которого есть фотографии, и для автомобиля, у которого нет car_photos. Где моя проблема? Пожалуйста, помогите мне.

0

Решение

Так что тебя беспокоит? Предполагается вернуть вам коллекцию в обоих случаях. Чтобы проверить, есть ли у машины похожие фотографии:

if ($car->getCarPhotos()->isEmpty()) {
// Car has no photos
} else {
// Car has photos
}
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)

1