Skip to content

Instantly share code, notes, and snippets.

@MicroHank
Last active August 29, 2015 14:25
Show Gist options
  • Save MicroHank/c7356fce53b0c0c113e6 to your computer and use it in GitHub Desktop.
Save MicroHank/c7356fce53b0c0c113e6 to your computer and use it in GitHub Desktop.
Laravel query builder 使用需求紀錄
---------------------------------
輸出欄位的 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