モデルのメソッドってすごく便利で、短い書き方で処理が完了するものがたくさんあります。
開発に関わった当初はフレームワークがなかったので、私はまだまだ慣れません…SQLとかベタ書きしてました。もったいない。
そこで今回はよく使いがちなモデルのメソッドを抜粋してきました!
自分用メモでもあります。
開発中にこの記事を見たら、目的のメソッドがありコピペして使えるので、検索する手間を減らせます!
ぜひ開発中に活用してみてください。
目次
データを取得するメソッド
データを取得する系のメソッドを紹介します。
主キーで取得:find()
find()だけで、主キーが一致したデータを取得してくれます。
$part = User::find(1); // 1件のみ
$parts = User::find([1,2,3,4,5]); // 複数取得
ついwhere句でカラム名を指定したSQLを切っちゃいますが、これならパッと書けちゃいますね!
1レコードのみ取得:first()
条件に一致した最初のレコードのみ取得します。
$part = User::where('name','たなか')->first(); // 1件取得
条件に一致したデータをすべて取得:get()
条件に一致したすべてのレコードを取得します。
$parts = User::where('name','たなか')->get(); // 複数取得
条件を指定する:where()、orWhere
条件に一致したレコードを取得します。
$part = User::where('name','たなか')->get(); // name=たなか のデータ取得
$part = User::where('name','たなか')orWhere('name','すずき')->get(); // name=たなか または name=すずき のデータ取得
範囲を指定する:whereBetween()
条件に一致したレコードを取得します。
$part = User::whereBetween('id',[1,5])->get(); // id=1~5 のデータ取得
複数指定する:whereIn()
条件に一致したレコードを取得します。
$part = User::whereIn('id',[1,3,5])->get(); // id=1、3、5 のデータ取得
データを削除するメソッド
データの削除は論理削除が多く、あまりデータを物理削除する機会はありませんがメモとして残します。
主キーでデータの削除:destroy()
主キーを指定してレコードを削除します。
$part = User::destroy(1); // 1件削除
$parts = User::destroy(1,2,5); // 複数削除
条件を指定して削除:delete()
条件に一致したレコードを削除します。
$part = User::where('id',1)->delete(); // id=1を削除
私的にこっちのdeleteがSQL文でも馴染みがあり使っていましたが、destroy()の方がスッキリしますね!
データを集計するメソッド
次にデータを集計するメソッドを紹介します。
レコード数を取得する:count()
条件に一致したレコード数を取得します。
$count = User::where('name','たなか')->count();
指定したカラムの最大値を取得:max()
指定したカラムの最大値を取得します。
$count = User::where('name','たなか')->max('age');
指定したカラムの合計値を取得:sum()
指定したカラムの最大値を取得します。
$count = User::sum('age');
さいごに
開発時に知っておくと便利なメソッド、かつ、開発時にサッとこの記事を読めば使えるように最低限のメソッドを抜粋してみました。
個人的なメモでもあるので、開発をしていて他にもよく使うメソッドが出てきたら追加していこうと思います。