2015-12-10 10 views
5

है, मैं एक SQL क्वेरी बनाने की कोशिश कर रहा हूं जहां मैं यह जांच सकता हूं कि डेटटाइमेम्प इस महीने और वर्ष में है या नहीं।लैरवेल एसक्यूएल चुनिंदा क्वेरी जहां डेटटाइमेस्ट इस महीने और वर्ष

क्वेरी का एक हिस्सा है:

$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.*') 

मैं इसे date_parse, नए दिनांक समय() के साथ करने की कोशिश की, लेकिन यह काम नहीं किया। मैं क्या गलत कर रहा हूं?

उत्तर

3

आप whereMonth() का उपयोग करें और whereYear() कर सकते हैं इस लक्ष्य को हासिल करने के लिए:

$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.*'); 
संबंधित मुद्दे