web-dev-qa-db-fra.com

Laravel Eloquent: Comment utiliser whereDate avec Between?

J'utilise Laravel 5.5, je dois former une requête dans laquelle seule la partie date d'une colonne datetime doit correspondre, l'équivalent du genre de chose date(date_col)='2018-01-01'. Comment puis-je atteindre ceci de manière éloquente? WhereDate() retourne la partie date mais existe-t-il un moyen de fusionner les deux?

Merci

6
Volatil3

Pour fusionner whereDate et between, vous pouvez utiliser quelque chose comme ceci:

User::whereBetween(DB::raw('DATE(created_at)'), array($from_date, $to_date))->get();

sql:

select * from `users` where DATE(created_at) between '2018-02-01' and '2018-02-06'
14
Mehravish Temkar

Vous pouvez utiliser Carbon:

$q->whereDate('date_col', '=', Carbon::parse($date)->toDateString());

whereDate devrait aussi fonctionner, passez la valeur comme 2ème paramètre

->whereDate('date_col', '2018-02-06')
0
user320487