我想按日期对结果进行排序,但这个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:
通过手工命令或手动创建名为Entry
的模型
步骤2:
然后从控制器进行
$entry = Entry::orderBy('created_at', 'ASC')->get();
然后您应该得到所需的$entry
数组。
希望这能帮助您
您仍然可以使用DB::table并简单地放置这个orderBy。它将像上面提到的一样工作。
$query = DB::table('entry')
->select(DB::raw("DATE_FORMAT(created_at,'%d-%m-%Y') as tanggal"))
->orderBy('created_at','ASC')->get(); //either this
->orderBy('updated_at','ASC')->get(); // or this
$query = DB::table('entry')
->select(DB::raw("DATE_FORMAT(created_at,'%d-%m-%Y') as tanggal"))
->orderBy('created_at','DESC')->get(); //either this
->orderBy('updated_at','DESC')->get(); // or this
注意:无论您是否放入'ASC',它都会自动按升序排序。