2013-11-21 5 views
3

У меня проблема в запросе, который я делаю в Laravel.Laravel 4 - group by and search by MySQL YEAR()

Мой запрос выглядит следующим образом:

<!-- Select all event in this year --> 
$thisYear = test::where('id', '=', $id) 
     ->where('YEAR(start)', '=', date("Y")); 

<!-- Group all events by year --> 
$years = test::where('id', '=', $id) 
     ->groupBy('YEAR(start)'); 

В первом коде я хотел бы получить все события, которые есть в этом году (2013)

Во втором я хотел бы группу все события года.

Надеюсь, что кто-то может помочь.

С уважением, Andreas

ответ

8

Вы ищете DB :: сырец(). Я думаю, что следующее должно работать.

$thisYear = test::where('id', '=', $id) 
    ->where(DB::raw('YEAR(start)'), '=', date('Y')); 
+0

Спасибо - я посмотрел на необработанные запросы, но не мог их полностью понять :-) Твой работали как шарм :-) –