2015-09-29 2 views
9

Моя проблема заключается в том, что я хочу получить данные из таблицы базы данных из атрибутов created_at только год и месяц. Код, который я попытался это:Как выбрать год и месяц из атрибутов created_at таблицы базы данных в laravel 5.1?

$post= Mjblog::select(DB::raw('YEAR(created_at) year, MONTH(created_at) month')); 
$posts_by_y_m = $post->where('created_at',$post)->get(); 
+0

Вы имеете в виду, что ваши результаты возврата должны содержать все годы и месяцы данной ** модели Mjblog **, если да, то почему вы это делаете: '$ post-> где ('created_at', $ post) -> Get(); '? –

+0

Пожалуйста, уточните свой вопрос. –

+0

Моя конкретная потребность - когда я нажимаю на архив, месяц и год должны отображать содержимое таблицы базы данных, где есть поле created_at date. –

ответ

26

Есть дата помощники доступны в построителе запросов:

$post = Mjblog::whereYear('created_at', '=', $year) 
       ->whereMonth('created_at', '=', $month) 
       ->get(); 
3

Если вы хотите, чтобы год и месяц от одного экземпляра Mjblog вы можете получить к ним доступ как это:

$year = $post->created_at->year; 
$month = $post->created_at->month; 

подробнее о Carbon\Carbongetters documentation.

Смежные вопросы