はじめに
今回は、Laravelでcollectionの空判定に苦戦したので、備忘録として残しておきます。
環境
- Laravel:8.83.4
結論. isEmptyで空判定する
コレクションの空判定はisEmpty()メソッドを使うことでできます。
また、if
, isset
, empty
, is_null
メソッドではコレクションの空判定はできません。
1-1. 改善前のコード
$posts = Post::where('user_id', 1)->get();
if (!empty($posts)) {
// データがなくても入ってしまう
}
1-2. 改善後のコード
$posts = Post::where('user_id', 1)->get();
if (!$posts->isEmpty()) {
// データがある場合のみ入る
}
以上で実装完了です。
空判定するにも色々なメソッドがあるので、うまく使い分けていきたいです。
2. 参考文献