2015-11-20 43 views
0

我想根據日期對結果進行排序,但此Laravel 5 SQL查詢不能按我的要求工作。ORDER BY「日期」Laravel 5 SQL查詢

$b = DB::table('entry') 
         ->select(DB::raw("DATE_FORMAT(created_at,'%d-%m-%Y') as tanggal")) 
         ->groupBy(DB::raw("DATE_FORMAT(created_at,'%d-%m-%Y')")) 
         ->orderBy(DB::raw("DATE_FORMAT(created_at,'%d-%m-%Y')"), 'asc') 
         ->get(); 
+1

你爲什麼不乾脆用' - >排序依據(「created_at」,「ASC」)' –

+1

你能張貼您預期的結果和實際的效果好嗎?在此之前,我們猜測你實際希望達到的目標。我不知道爲什麼要結合groupBy和orderBy。另外,您訂單中的DATE_FORMAT可能會干擾您的結果嗎?正如Uchiha已經提到的,只需嘗試' - > orderBy('created_at','asc')' – derjoachim

回答

2

這裏的簡單的方法來實現這一

步驟1:

創建2由工匠命令命名爲Entry模型或手動

步驟:

然後從你的控制器上做

$entry = Entry::orderBy('created_at', 'ASC')->get(); 

然後你應該得到你需要的$entry數組。

希望這有助於你