Query Builder
Onga.inc
<?php $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } ?>
すべての列を取得
<?php $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); ?>
列を指定して取得
<?php $name = DB::table('users')->where('name', 'John')->pluck('name'); ?>
列を指定/行を指定
<?php $roles = DB::table('roles')->lists('title'); ?>
カラムのリストを取得
<?php $roles = DB::table('roles')->lists('title', 'name'); ?>
カラムのリストを取得
<?php $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節を指定する
<?php $query = DB::table('users')->select('name'); $users = $query->addSelect('age')->get(); ?>
セレクト節を追加する
<?php $users = DB::table('users')->where('votes', '>', 100)->get(); ?>
WHERE文を使用する
<?php $users = DB::table('users') ->where('votes', '>', 100) ->orWhere('name', 'John') ->get(); ?>
OR文
<?php $users = DB::table('users') ->whereBetween('votes', array(1, 100))->get(); ?>
WHERE BETWEEN
<?php $users = DB::table('users') ->whereNotBetween('votes', array(1, 100))->get(); ?>
WHERE NOT BETWEEN
<?php $users = DB::table('users') ->whereIn('id', array(1, 2, 3))->get(); $users = DB::table('users') ->whereNotIn('id', array(1, 2, 3))->get(); ?>
WHERE IN
<?php $users = DB::table('users') ->whereNull('updated_at')->get(); ?>
WHERE NULL
<?php $users = DB::table('users') ->orderBy('name', 'desc') ->groupBy('count') ->having('count', '>', 100) ->get(); ?>
ORDER BY
<?php $users = DB::table('users') ->orderBy('name', 'desc') ->groupBy('count') ->having('count', '>', 100) ->get(); ?>
ORDER BY
<?php $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'); ?>
集計
<?php DB::table('users')->increment('votes'); DB::table('users')->increment('votes', 5); DB::table('users')->decrement('votes'); DB::table('users')->decrement('votes', 5); ?>
increment / decrement