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?
6 Réponses :
Vous pouvez essayer celui-ci:
PrescriptionTbl::where('created_at', '<=', date('Y-m-d 00:00:00'))->get();
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
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();
il montre select * from prescription_tbls` où created_at >? et created_at =? `après avoir utilisé toSql () et obtient également un résultat NULL
Vous pouvez l'utiliser;
PrescriptionTbl::whereDate('created_at', date('Y-m-d'))->get();
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?
Vous pouvez l'obtenir via la nouvelle classe DateTime ()
PrescriptionTbl::whereDate('created_at', '=', (new DateTime)->format('Y-m-d'))->get();
Utiliser Carbon (utiliser Carbon \ Carbon;) c'est simple et joli
PrescriptionTbl::whereDate('created_at', Carbon::today()->toDateString())->get();
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: sVous 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