Laravel 查询生成器 - 使用 NOW() 和 DateFormat 时出错

Laravel Query Builder - Error for using NOW() and DateFormat

我有一个像这样的MySQLtable-

还有一个 Laravel 的查询生成器,就像这样-

    $baseQuery = DB::table('webinars')
        ->select(
                    'id',
                    'title',
                    'description',
                    'hosts',
                    DB::raw('concat(DATE_FORMAT(starts_on,"%d %b %Y %h:%i %p), " ", timezone) as starts'),
                    'duration',
                    'created_at'
                )
        ->where('user_id', '=', $user_ID)
        ->where('starts_on >= NOW()');

所以,我收到了这 2 行的错误-

        DB::raw('concat(DATE_FORMAT(starts_on,"%d %b %Y %h:%i %p), " ", timezone) as starts')

        ->where('starts_on >= NOW()');

错误是-

有人能帮帮我吗?

您在日期掩码后缺少双引号:

DB::raw('concat(DATE_FORMAT(starts_on, "%d %b %Y %h:%i %p), " ", timezone) as starts')

应该是:

DB::raw('concat(DATE_FORMAT(starts_on, "%d %b %Y %h:%i %p"), " ", timezone) as starts')

->where('starts_on >= NOW()');

您可以使用:

whereRaw('starts_on >= NOW()')

where('starts_on', '>=', new DateTime('today'))