Laravel Query Builderの解説
人気のフレームワークLaravelのQuery Builderをまとめてみました
すべての列を取得
` $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } `
列を指定して取得
` $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); `
列を指定/行を指定
` $name = DB::table('users')->where('name', 'John')->pluck('name'); `
カラムリストを取得
` $roles = DB::table('roles')->lists('title'); `
カラムリストを取得2
` $roles = DB::table('roles')->lists('title', 'name'); `
SELECT節を指定する
` $users = DB::table('users')->select('name', 'email')->get(); $users = DB::table('users')->distinct()->get(); $users = DB::table('users')->select('name as user_name')->get(); `
SELECT節を指定する
` $query = DB::table('users')->select('name'); $users = $query->addSelect('age')->get(); `
WHERE文を使用する
` $users = DB::table('users')->where('votes', '>', 100)->get(); `
OR文
` $users = DB::table('users') ->where('votes', '>', 100) ->orWhere('name', 'John') ->get(); `
WHERE BETWEEN
` $users = DB::table('users') ->whereBetween('votes', array(1, 100))->get(); `
WHERE NOT BETWEEN
` $users = DB::table('users') ->whereNotBetween('votes', array(1, 100))->get(); `
WHERE IN
` $users = DB::table('users') ->whereIn('id', array(1, 2, 3))->get(); $users = DB::table('users') ->whereNotIn('id', array(1, 2, 3))->get(); `
WHERE NULL
` $users = DB::table('users') ->whereNull('updated_at')->get(); `
ORDER BY
` $users = DB::table('users') ->orderBy('name', 'desc') ->groupBy('count') ->having('count', '>', 100) ->get(); `
集計
` $users = DB::table('users')->count(); $price = DB::table('orders')->max('price'); $price = DB::table('orders')->min('price'); $price = DB::table('orders')->avg('price'); $total = DB::table('users')->sum('votes'); `
自動 incrementとdecrement
自動でインクリメントされる便利な機能です
` DB::table('users')->increment('votes'); DB::table('users')->increment('votes', 5); DB::table('users')->decrement('votes'); DB::table('users')->decrement('votes', 5); `
Comments