Laravel:生成一个mysql日期字段的月份列表

时间:2015-09-16 09:05:53

标签: date laravel eloquent

我想用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

由于 米尔科

2 个答案:

答案 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(日期)

现在我根据我的情况调整它;)

由于