我想从我的数据库中获取一个值。因此,我使用以下代码:
$qb->select('u.userId')
->from('user', 'u')
->orderBy('u.id', 'DESC')
->setMaxResults(1);
$query = $qb->getQuery();
$result = $query->getSingleResult();
如果该表中至少有一行,则代码可以正常工作。但是如果表是空的,它会抛出异常。我怎样才能拦截这个例外?
我尝试了if($result->isEmpty()
,$result === null
或empty($result)
之类的内容,但我的异常似乎是在第0行引发的。上面的例子中有3个,所以我之后无法拦截它。
答案 0 :(得分:1)
这应该有用。
IF EXISTS(<query>)
SELECT 'not empty'
ELSE
SELECT 'empty'