1

データベースから 1 つの値を取得したいと考えています。したがって、次のコードを使用します。

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

そのテーブルに少なくとも 1 つの行がある場合、コードは正常に機能します。ただし、テーブルが空の場合、例外がスローされます。この例外をインターセプトするにはどうすればよいですか?

if($result->isEmpty()$result === nullまたはのようなものを試しempty($result)ましたが、行番号で例外がスローされたようです。上記の例では 3 であるため、後で傍受することはできません。

4

1 に答える 1

1

これはうまくいくはずです。

IF EXISTS(<query>)
  SELECT 'not empty'
ELSE
  SELECT 'empty'
于 2013-08-05T07:38:28.157 に答える