我正在尝试进行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.*')

我用date_parse,新的DateTime()尝试了一下,但是没有用。我究竟做错了什么?

最佳答案

您可以使用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.*');

关于php - Laravel SQL选择查询,其中DateTimestamp包含该月和年,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34204617/

10-08 22:41