Как проверить, дает ли DQL-запрос Doctrine2 правильный результат? - PullRequest
0 голосов
/ 04 сентября 2011
function search_event($parish, $genre, $pricerange)
{
    $query = $this->em->createQuery('SELECT e from Events e WHERE e.parish = :parish AND e.genre = :genre');
    $query->setParameter('parish', $parish);
    $query->setParameter('genre', $genre);
    $result = $query->getResult();     
    return $result;
}

В приведенном выше примере, как проверить допустимость $ result?

Ответы [ 2 ]

2 голосов
/ 04 сентября 2011

Есть несколько вещей, которые вы можете сделать, чтобы проверить, есть ли объекты в вашей возвращенной коллекции. См. ArrayCollection для получения полного списка доступных методов.

// Is result empty?
$result->isEmpty();

// Is result count > 0?
0 < $result->count();
0 < count($result);

// Get the first entitiy
$first = $result->first(); // $first === false if none
1 голос
/ 04 сентября 2011

Если возвращается getResult() (т. Е. Если оно не выдает исключение), тогда $result равно допустимо .(Это всегда массив результатов; который может быть пустым, если результата не было.)

Если возникает какая-либо ошибка (некорректный запрос, сброс соединения или что-то еще), эфир createQuery() или getResult() выдаетисключение.

...