CakePHP(v3.x)、レコードを取得して空かどうかを判定する場合。

例えばArticleテーブルが存在して、テーブルクラスに複数のArticleを取得するメソッドgetArticlesみたいなやつがあったとします。 これを呼び出す場合は

  $articles = TableRegistry::getTableLocator()->get('Articles')->getArticles();

となります。 この時,articleレコードを持つかどうか判定したいときは、empty($articles)とするとレコードが存在しないにも関わらずfalseとなるので注意が必要です。 レコードの有無を判定する際はcountなどを利用すると良いかと思われます。

 $articles->count(); // => 0