У меня есть этот метод:
public function getMonth ($month_name)
{
$q = $this->createQueryBuilder('m');
$q->select('m')
->where('m.name = :name')
->setParameter('name', $month_name);
return $q->getQuery()->getResult();
}
От него я ожидаю найти месяц или 0 месяцев. Я использую этот метод таким образом в моих контроллерах:
$month = $em->getRepository('EMExpensesBundle:Month')
->getMonth($this->findMonth());
$month->setSpended($item->getPrice());
Я пробовал это с помощью getSingleResult()
, и все было идеально, пока я не наткнулся на случай, когда ни один месяц не был найден, и все пошло очень плохо!
Затем я попытался с getResult()
, но он возвращает массив, а затем
$month->setSpended($item->getPrice());
называется вызываемым на не-объекте и фиксировать его, я должен использовать всюду
$month[0]->setSpended($item->getPrice());
Есть ли более элегантный способ достичь этого без необходимости добавлять ненужный индекс [0] во всем мире?