как получить нижние даты Laravel и MySQL - PullRequest
0 голосов
/ 07 июня 2018

У меня есть этот запрос 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();

, но этот запрос возвращает ноль, даже если есть столбец срока действия со значением

 01 june 2017 

, но не возвращает его,в чем моя ошибка?

1 Ответ

0 голосов
/ 07 июня 2018

Не помещайте NOW () в одинарные кавычки 'NOW()'

->whereRaw("DATE_FORMAT(c.expiration,'%Y-%m-%d') <= DATE_FORMAT(NOW(),'%Y-%m-%d')")

Также ваш список выбора недействителен, так как срок действия отсутствует в группе или выбран без агрегирования, это может привести к неопределенному значениюВы можете обновить выбранную деталь как MAX (срок действия) / MIN (срок действия)

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