目的
- クエリビルダを用いたNULLの判定方法をまとめる
実施環境
- ハードウェア環境
項目 | 情報 |
---|---|
OS | macOS Catalina(10.15.5) |
ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
プロセッサ | 2 GHz クアッドコアIntel Core i5 |
メモリ | 32 GB 3733 MHz LPDDR4 |
グラフィックス | Intel Iris Plus Graphics 1536 MB |
- ソフトウェア環境
項目 | 情報 | 備考 |
---|---|---|
PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う |
MySQLバージョン | 8.0.19 for osx10.13 on x86_64 | Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする |
前提環境
- 先に記載した実施環境に近い環境で実施すること。
前提情報
- 下記の内容をすでに実施していると理解が早いかもしれない。
読後感
- NULLを用いた条件を使ってクエリビルダでデータの取得をすることができる様になる。
例
-
判定対象カラムがNULLであるレコードのみ取得する。
$query = モデルファイル名::select('*'); $query->whereNull('判定対象カラム名'); $query->get();
-
判定対象カラムがNULLではないレコードのみ取得する。
$query = モデルファイル名::select('*'); $query->whereNotNull('判定対象カラム名'); $query->get();
具体例
-
usersテーブルの「user_name」カラムがNULLのレコードのみ取得する際は下記の様になる。
-
usersテーブルのモデルファイル名はUser.phpとして、
アプリ名ディレクトリ/app
直下に存在するものとする。当該モデルファイルのuse宣言はすでに実施されている物とする。$query = User::select('*'); $query->whereNull('user_name'); $query->get();
-
usersテーブルの「user_name」カラムがNULLではないレコードのみ取得する際は下記の様になる。
-
usersテーブルのモデルファイル名はUser.phpとして、
アプリ名ディレクトリ/app
直下に存在するものとする。当該モデルファイルのuse宣言はすでに実施されている物とする。$query = User::select('*'); $query->whereNotNull('user_name'); $query->get();