Laravel 5 query builder and NOW() for date comparison
laravel-5, mysql, php
Solution
Eloquent Query builder doesn't accept those specific SQL functions but as it's done within your PHP you can easily use the great Carbon Class : http://carbon.nesbot.com/docs/ :
`use Carbon\Carbon;`
And then,
$job = $jobs->where('closing_at', '>=', Carbon::now())
->orderBy($sorter[0], $sorter[1])->paginate(24);
That should do the trick.
There is also a whereDate() eloquent method : https://laravel.com/docs/5.3/queries#where-clauses
Problem
My database (MySQL) has a timestamp field for `created_at`. I have two entries, with the timestamps as follows: - 2017-12-12 18:25:00 - 2016-10-02 18:00:00 Today is 2016-10-19 (for future reference). If I use the following query, I get no results: ``` $job = $jobs->where('closing_at', '>=', 'NOW()') ->orderBy($sorter[0], $sorter[1])->paginate(24); ``` If I hardcode the date, I get the correct results, just the one future date: ``` $job = $jobs->where('closing_at', '>=', "2016-10-19 00:00:00") ->orderBy($sorter[0], $sorter[1])->paginate(24); ``` I'm assuming my error is in the use of `NOW()` with the Eloquent query builder but I can't figure out the correct way to use this is.