2015-12-10 16 views
5

Próbuję utworzyć zapytanie SQL, w którym mogę sprawdzić, czy DateTimestamp zawiera ten miesiąc i rok.Laravel Zapytanie SQL select gdzie DateTimestamp zawiera ten miesiąc i rok

Część zapytania:

$leads = DB::table('leads') 
     ->leftJoin('invoices', function($join2) { 
      $join2->on('leads.id', '=', 'invoices.lead_id'); 
     }) 
    ->where('invoices.chance', '!=', 0) 
     ->where('invoices.updated_at', '=', date('m-Y')) //Check if DateTimestamp(updated_at) contains Year and month 
      ->select('leads.*') 

Próbowałem go date_parse, new DateTime(), ale to nie działa. Co ja robię źle?

Odpowiedz

3

Można użyć whereMonth() i whereYear() do osiągnięcia tego:

$leads = DB::table('leads') 
    ->leftJoin('invoices', function($join2) { 
     $join2->on('leads.id', '=', 'invoices.lead_id'); 
    }) 
    ->where('invoices.chance', '!=', 0) 
    ->whereMonth('invoices.updated_at', '=', date('m')) // changed 
    ->whereYear('invoices.updated_at', '=', date('Y')) // changed 
    ->select('leads.*');