3
votes

Comment récupérer les données de la date actuelle dans Laravel

Je souhaite récupérer les données d'aujourd'hui de ma base de données dans Laravel.

J'ai déjà recherché sur Google et appliqué plusieurs méthodes mais je n'ai pas obtenu ma réponse.

PrescriptionTbl::whereDate('created_at', Carbon::today())->get();

Où PrescriptionTbl est le modèle et today est la date actuelle comme 2019-2-19 .Mais j'ai un tableau NULL.

Pour vérifier le SQL que j'ai utilisé toSQL () au lieu de get () ... et il s'affiche sous SQL dans le navigateur

 select * from `prescription_tbls` where date(`created_at`) = ?

J'ai également utilisé Carbon mais j'ai aussi un tableau NULL

PrescriptionTbl::whereDate('created_at', '=', $today)->get();

Comment le résoudre? Quelqu'un aide s'il vous plaît?


5 commentaires

Avez-vous essayé PrescriptionTbl :: where ('created_at', date ('Y-m-d H: i: s')) -> get (); ?


FGDeveloper ... En fait, je veux récupérer des données par date .... C'est pourquoi je n'ai pas utilisé H: i: s


Vous pouvez l'utiliser; PrescriptionTbl :: whereDate ('created_at', date ('Y-m-d')) -> get (); Cela fonctionne pour moi.


Pouvez-vous s'il vous plaît partager le format de date utilisé par le champ afin que je puisse modifier ma fonction et poster la réponse et n'oubliez pas d'ajouter quelques exemples de dates


FGDeveloper .... cela fonctionne selon votre code ... Veuillez fournir la réponse et j'accepterai votre réponse alors


6 Réponses :


0
votes

Vous pouvez essayer celui-ci:

PrescriptionTbl::where('created_at', '<=', date('Y-m-d 00:00:00'))->get();


1 commentaires

Sahil Darji .... Je veux récupérer les données comme date ..... Et dans ma base de données le format de colonne created_at est DATETIME



0
votes

created_at est un horodatage qui est au format date / heure, donc, l'opérateur equal ne fonctionnerait pas à moins que vous n'ayez fourni tout l'horodatage.

vous pouvez utiliser la méthode whereDate pour comparer les dates uniquement comme indiqué dans documentation

PrescriptionTbl::whereDate('created_at', $today)->get();


1 commentaires

il montre select * from prescription_tbls` où created_at >? et created_at =? `après avoir utilisé toSql () et obtient également un résultat NULL



3
votes

Vous pouvez l'utiliser;

PrescriptionTbl::whereDate('created_at', date('Y-m-d'))->get();


0 commentaires

0
votes

Vous pouvez utiliser whereB Between dans lequel vous pouvez indiquer la date de début d'aujourd'hui sous la forme 2019-01-01 00:00:00 et la date de fin sous la forme 2019- 01-01 23:59:59

Pour référence Comment interroger entre deux dates à l'aide de Laravel et Eloquent ORM?


0 commentaires

0
votes

Vous pouvez l'obtenir via la nouvelle classe DateTime ()

PrescriptionTbl::whereDate('created_at', '=', (new DateTime)->format('Y-m-d'))->get();


0 commentaires

0
votes

Utiliser Carbon (utiliser Carbon \ Carbon;) c'est simple et joli

PrescriptionTbl::whereDate('created_at',  Carbon::today()->toDateString())->get();


0 commentaires