LoginSignup
17
17

More than 5 years have passed since last update.

【Laravel5.1】 Eloquent の Builder で使いそうなAPIのまとめ

Posted at

Illuminate\Database\Eloquent\Builder.php のまとめ記事です。
Laravelの概要ドキュメントには、hasの使い方は載っているのに、その逆のメソッドについては記載がなかったりして、都度ソースを調べてるので、(徐々に)まとめていきます。

公式ドキュメント

概要
API一覧

find系メソッドまとめ

主キーで検索する時に便利なメソッド。

find($id, $columns = ['*'])

  • 主キーで検索する時に使用する。

findMany($ids, $columns = ['*'])

  • 複数の主キーで検索する時に使用する。

findOrFail($id, $columns = ['*'])

  • 主キーで検索する時に使用する。
  • 検索結果が無い場合、ModelNotFoundException が throw される。

first系メソッドまとめ

first($columns = ['*'])

  • 検索結果の先頭を取得するメソッド。getを実施しなくて良い。

firstOrFail($columns = ['*'])

  • 検索結果の先頭を取得するメソッド。getを実施しなくて良い。
  • 検索結果が無い場合、ModelNotFoundException が throw される。

has系メソッドまとめ

has($relation, $operator = '>=', $count = 1, $boolean = 'and', Closure $callback = null)

  • 関連オブジェクトを指定し、存在するレコードのみ取得するメソッド。

doesntHave($columns = ['*'])

  • 関連オブジェクトを指定し、存在しないレコードのみ取得するメソッド。

whereHas($relation, Closure $callback, $operator = '>=', $count = 1)

  • hasの検索条件を詳細に指定する際に使用するメソッド。

whereDoesntHave($relation, Closure $callback = null)

  • doesntHaveの検索条件を詳細に指定する際に使用するメソッド。

orHas($relation, $operator = '>=', $count = 1)

  • hasをor句で表現する際に使用するメソッド。

orWhereHas($relation, Closure $callback, $operator = '>=', $count = 1)

  • orHasの検索条件を詳細に指定する際に使用するメソッド。
17
17
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
17
17