Professional Documents
Culture Documents
Laravelcon209.key
Laravelcon209.key
16
Laravelの公式には載っていない
Builderの使い方
株式会社Nextat
西澤 裕也
#所属
株式会社Nextat(ネクスタット)/代表取締役
#経歴
大学生 → ニート → 代表取締役(エンジニア)
・Illuminate\Database\Query\Builder
SQLを組み立てるためのクラス
Modelに最適化された、ビルダークラス
返り値はIlluminate\Database\Eloquent\CollectionかModelクラ
スになる
EloquentビルダーはQueryビルダーを内部に保持している
Eloquentビルダーにないメソッド(having等)は、Queryビルダー
に委譲されていて、Queryビルダーのメソッドは使うことができる
Modelが見つからない場合はModelのインスタンスを返してくれる
配列を渡すと、Modelインスタンスにセットして返してくれる
SQL文として表示してくれる
・getBindings()
プレースホルダーに入ってくる値が確認できる
2019/2/16 Copyright© Nextat Inc. All Rights Reserved. 9
公式に使い方が載っていないメソッド
・便利な使い方
toSql()とgetBindings()を合わせると完全なSQL文を見る
ことが可能
さくっと確認したいときはとても便利!
■ Eloquentビルダーにないメソッド(having等)は、Queryビルダー
に委譲されていて、Queryビルダーのメソッドは使うことができる
■ findOrNew(),hydrate(),toSql(),getBindings()の使い方の説明
■ Laravelの公式ドキュメントは簡単なこと
しか載っていない
■ チュートリアルが雑でよくわからない
■ なんてことはなかった(笑)
■ 公式には色々なBuilderの使い方が書いているの
で一読する価値あり!
https://readouble.com/laravel/5.7/ja/queries.html
https://readouble.com/laravel/5.7/ja/eloquent.html
https://readouble.com/laravel/5.7/ja/eloquent-
relationships.html