当表为空时,如何避免异常?

时间:2013-08-05 07:34:25

标签: mysql doctrine-orm

我想从我的数据库中获取一个值。因此,我使用以下代码:

$qb->select('u.userId')
   ->from('user', 'u')
   ->orderBy('u.id', 'DESC')
   ->setMaxResults(1);
$query = $qb->getQuery();
$result = $query->getSingleResult();

如果该表中至少有一行,则代码可以正常工作。但是如果表是空的,它会抛出异常。我怎样才能拦截这个例外?

我尝试了if($result->isEmpty()$result === nullempty($result)之类的内容,但我的异常似乎是在第0行引发的。上面的例子中有3个,所以我之后无法拦截它。

1 个答案:

答案 0 :(得分:1)

这应该有用。

IF EXISTS(<query>)
  SELECT 'not empty'
ELSE
  SELECT 'empty'