1
votes

query created_at date uniquement égale à carbon :: now () date uniquement en laravel

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();


0 commentaires

3 Réponses :


2
votes

Vous pouvez opter pour le type de construction suivant:

App \ Table :: whereDate ('created_at', '=', now () -> toDateString ()) -> get ();


3 commentaires

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.



1
votes

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 ())


1 commentaires

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 '> =' .



1
votes

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


0 commentaires