我想用Laravel / Eloquent生成MySQL表中日期字段的月份列表。
如何对查询进行分组并生成月份列表?
该列表适用于选择字段,以便以后过滤每月的条目。
id user_id garage_id date time
1 1 23 2015-09-11 02:23:00
5 1 17 2015-09-07 03:36:00
6 1 136 2015-08-02 23:22:00
7 1 83 2015-08-13 14:56:00
8 1 3 2015-07-16 14:58:00
9 1 67 2015-07-09 10:51:00
由于 米尔科
答案 0 :(得分:0)
您可以在数据库查询中使用groupBy()
,它基本上为您提供了唯一值列表。
$unqiue_dates = DB::table('your_table')
->where('some_condition','=','if you like')
->groupBy('created_at') // or whatever date field
->get();
然后,一旦您将这些数据传递到Laravel刀片模板,您就可以像以下一样迭代它们:
<select>
@foreach ($unique_dates as $date)
<option>{{ date('F', strtotime($date)) }}</option>
@endforeach
<select>
使用'F'作为格式字符给出完整的文本表示,例如一月。
答案 1 :(得分:0)
我在Laravel和Eloquent之外找到了解决方案:
选择MONTHNAME(日期)作为月份来自cp_dbcarsharing GROUP BY MONTH(日期)
现在我根据我的情况调整它;)
由于