2
Ich möchte Datensätze abrufen, die älter als 2 Tage sind.Datum Vergleich mit Laravel 4.2
Meine aktuelle Datenbankeinträge für added_to_cart_at
Feld ist nur eine Zeile vom 2016-05-01 12:23:23
I unten Code verwendet
$date = new DateTime;
$date->modify('-2 days');
$formatted_date = $date->format('Y-m-d H:i:s');
echo $formatted_date; // prints 2016-04-29 14:27:42
$result = DB::table('cart_reminder')->whereDate('added_to_cart_at','<=',$formatted_date)->get();
foreach ($result as $row)
{
echo $row->user_email;
}
Oberhalb von where
Zustand versagen sollte und 0 Datensätze zurück. Aber es holt eine Aufzeichnung. EDITED:
$result = DB::table('cart_reminder')->whereDate(\Carbon\Carbon::now()->subDays(2)->toDateString())->get();
foreach ($result as $row)
{
echo $row->user_email;
}
druckt Fehler
production.ERROR: exception 'ErrorException' with message 'Missing argument 2 for Illuminate\Database\Query\Builder::whereDate(), called in
Warum?
Ich glaube nicht, sollten Sie 'whereDate()' hier, ganz normale 'wo()'. –
geändert. immer noch druckt es E-Mail-Adresse, und Bedingung wird wahr –
Da Laravel Daten gut mit Carbon arbeiten, haben Sie versucht, ein Carbon-Objekt anstelle einer formatierten Zeichenfolge übergeben? – ThePurpleK