😉

Laravel ::where() ではなく、::query() で書き始めるプチメリット

1 min read

本題

Eloquent で、DB からデータを取得する場合、まず、::where() とかから書いたりしますが、::query() で書き始めることもできます。

ということで、::query() から書き始めた場合のちょっとしたメリットです。

(1) コード補完が効く

エディタは、VsCode に Intelephense を入れた環境です。
(Laravelは、Ver.8 と Ver.5.6 にて確認済)

画像で見ていただいた方が早いので、以下、画像です。

::query() から書き始めた場合


::where() から書き始めた場合

(2) 縦にメソッドを繋げた時、見やすくなるかも

    // 最初の where() だけ仲間はずれ感がある(ずれていて見づらい)
    $users = User::where('name', 'LIKE', 'taro%')
        ->where('email', 'LIKE', 'taro%')
        ->take(5)
        ->orderBy('id')
        ->get();

    // 見やすくなった
    $users = User::query()
        ->where('name', 'LIKE', 'taro%')
        ->where('email', 'LIKE', 'taro%')
        ->take(5)
        ->orderBy('id')
        ->get();

雑感

query()、何気にいい奴です。

Discussion

ログインするとコメントできます