LaravelでのSQLの書き方がごっちゃになってきたので、まとめる。
Raw
$users = DB::select('select * from users')
insert, update, delete でも同様
クエリビルダ
$email = DB::table('email')
->join('telephone', 'email.id', '=', 'telephone.id') //combining methods
->where('vip', true) //constraing methods
->orderBy('last_name','desc') //modifiyng methods
->get() //ending methods
combining methods
- join
- union
constraining methods
- select
- where
- orWhere
- whereBetween
- whereIn
- whereNull
- whereExists
- distinct
modyfing methods
- orderBy
- groupBy and having
- skip and take
- latest/oldest
- inRandomOrder
conditional methods
- when
- unless
ending methods
- get
- first
- find
- value
- count
- min/max
- sum/avg
- all(ただしこれは、Eloquentのときだけ)
まとめ
特にgetを忘れてエラーを出しやすい。
findやallのときはいらないが、それ以外の時は基本いるものと考えたほうが良い。