如何得到较低的日期拉威尔和mysql

vtwuwzda  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我有这个laravel查询从数据库中获取所有过期用户

$result = DB::table('radchecks as c')->leftJoin('radusergroup', 'c.username', '=', 'radusergroup.username')->whereRaw("DATE_FORMAT(c.expiration,'%Y-%m-%d') <= DATE_FORMAT('NOW()','%Y-%m-%d')")
->select('c.username', 'expiration')

->groupBy('c.username')
->get();

但即使有值为的expiration列,该查询也返回null

01 june 2017

但不归还。我的错在哪里?

fjnneemd

fjnneemd1#

不要将now()放在单引号中 'NOW()' ```
->whereRaw("DATE_FORMAT(c.expiration,'%Y-%m-%d') <= DATE_FORMAT(NOW(),'%Y-%m-%d')")

此外,您的选择列表无效,因为过期不在group by中或在未聚合的情况下选定。这可能导致值不确定,您可以将选择部分更新为max(过期)/min(过期)

->select('c.username', DB::raw('MAX(expiration)'))

相关问题