Laravel SQL选择查询,其中DateTimestamp包含此月份和年份

JS-*_*-NL 5 php mysql sql datetime laravel

我正在尝试进行SQL查询,我可以检查DateTimestamp是否包含此月份和年份.

查询的一部分:

$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.*')
Run Code Online (Sandbox Code Playgroud)

我用date_parse,new DateTime()尝试了它,但它没有用.我究竟做错了什么?

Kir*_*ard 4

您可以使用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.*');
Run Code Online (Sandbox Code Playgroud)