期望从教义查询生成器获得一个或没有结果,我应该使用什么?
2022-08-30 15:26:01
我有这个方法:
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]索引?