LoginSignup
6
9

Laravel クエリビルダを用いてNULLを判定する

Last updated at Posted at 2020-07-29

目的

  • クエリビルダを用いた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();
    

参考文献

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9