2015-11-20 84 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数组。

希望这有助于你