我有这个方法:
public function getMonth ($month_name)
{
$q = $this->createQueryBuilder('m');
$q->select('m')
->where('m.name = :name')
->setParameter('name', $month_name);
return $q->getQuery()->getResult();
}
我希望从中找到 1 个月或 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] 索引?