Illuminate\Database\Eloquent\Builder.php のまとめ記事です。
Laravelの概要ドキュメントには、hasの使い方は載っているのに、その逆のメソッドについては記載がなかったりして、都度ソースを調べてるので、(徐々に)まとめていきます。
公式ドキュメント
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の検索条件を詳細に指定する際に使用するメソッド。