Last active
August 29, 2015 14:25
-
-
Save MicroHank/c7356fce53b0c0c113e6 to your computer and use it in GitHub Desktop.
Laravel query builder 使用需求紀錄
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--------------------------------- | |
輸出欄位的 distinct 值 | |
(1) $output = DB::table('table_name')->distinct()->get(array('column_name')) ; | |
(2) $output = DB::table('table_name')->select([DB::row('DISTINCT(column_name)'), 'some_col as new_col'])->distinct()->get(); | |
備註:輸出欄位為 new_col | |
--------------------------------- | |
where 的 AND 和 OR 寫法 | |
select id,mode FROM table_name WHERE id = 1 AND (mode = 1 OR mode = 3) | |
$data = DB::table('table_name')->where('id','=',1)->where(function ($query) { | |
$query->where('mode','=',1)->orWhere('mode','=',3) ; | |
})->select('id','mode')->get() ; | |
-------------------------------- | |
傳遞參數至閉包 closure function | |
$filter = "string" ; | |
$data = DB::table('table_name1')->join('table_name2', | |
function($join) use ($filter){ | |
$join->on('table_name1.id','=','table_name2.id')->where('table_name2.name','like','%'.$filter.'%'); | |
} | |
)->orderBy('table_name1.id','asc')->select('table_name1.id as key_value','table_name2.name as key_name')->take($limit)->get() ; | |
-------------------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment