Comment faire une requête created_at date uniquement égale à Carbon :: now () date uniquement dans le générateur de requêtes laravel.?
App\Table::where('created_at', '=' ,Carbon/Carbon:now() )->get();
3 Réponses :
Vous pouvez opter pour le type de construction suivant:
App \ Table :: whereDate ('created_at', '=', now () -> toDateString ()) -> get ();
cela fonctionnerait sur '> ='
. mais pas ce que je recherche. y a-t-il une fonction magique où vous pouvez obtenir la date created_at uniquement comme le sql brut Date (created_at)
. sélectionnez * dans le tableau où Date (created_at) = '2019-12-18'
@JuliusLimson whereDate
devrait fonctionnellement fournir ce que vous recherchez
@lagbox my bad, je n'ai pas remarqué la fonction whereDate
. Je vous remercie de le faire remarquer. c'est ce que je recherche.
Vous pouvez utiliser la fonction CURDATE
par défaut de Mysql
avec le SQL brut de laravel query builder.
DB :: table ('posts') -> select (DB :: raw ('*'))
-> whereRaw ('Date (created_at) = CURDATE ()') -> get ();
Ou
App \ Table :: where ('created_at', '=', Carbon :: today ())
Je souhaite que nous puissions l'écrire comme ceci App \ Table :: where ('Date (created_at)', '=', Carbon :: today ())
. la 2ème requête est beaucoup plus courte et simple mais ne fonctionne que si nous changeons l'opérateur en '> ='
.
Pas besoin d'utiliser quoi que ce soit, vérifiez simplement whereDate For Date
App\Table::whereDate('created_at', '=' ,Carbon/Carbon:now() )->get();
parmi ce whereMonth for Month et whereDay for date
vérifiez ce lien https://laravel.com/docs /5.8/queries#whereDate%20/%20whereMonth%20/%20whereDay%20/%20whereYear%20/%20whereTime