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'))
我有一个像这样的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'))