У меня есть простая система блогов, в которой я хочу показать архив на боковой панели, который показывает все месяцы и годы сообщений в блогах. Сообщения в блогах имеют значение Created_at и updated_at в базе данных в следующем формате: 2016-04-20 12:05:10
Но когда я делаю это:
<ul>
@foreach($blogposts as $post)
<li class="bow-item"> <a href="#">{{$post->created_at->format('F Y')}}</a> </li>
@endforeach
</ul>
я, очевидно, получаю повторяющиеся значения, если сообщения в блогах имеют один и тот же месяц и год. Как мне получить уникальные месяцы и годы + смогу ли я сортировать по этому месяцу или году и получать несколько сообщений? Потому что, если я получу уникальные значения, я, вероятно, получу только 1 сообщение, когда отфильтрую результаты.
Обновление: вы можете сделать что-то вроде этого
$dates = DB::table('blogposts')
->distinct()
->orderBy('created_at')
->get([
DB::raw('YEAR(`created_at`) AS `year`'),
DB::raw('MONTH(`created_at`) AS `month`'),
]);
Проблема в том, что при таком подходе мои значения сохраняются как целое число. Но я хотел бы отформатировать дату.