2016-05-01 21 views
2

2日以上経過したレコードを取得したい。日付比較laravel 4.2

added_to_cart_atフィールドの私の現在のデータベースレコードは、私は

$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; 
    } 

理想的には上記where条件が失敗したと0のレコードを返す必要があり、コードの下に使用2016-05-01 12:23:23

付けただ一つの行です。しかし、レコードを取得します。 EDITED:

$result = DB::table('cart_reminder')->whereDate(\Carbon\Carbon::now()->subDays(2)->toDateString())->get(); 
    foreach ($result as $row) 
{ 
    echo $row->user_email; 
} 

それは誤り

production.ERROR: exception 'ErrorException' with message 'Missing argument 2 for Illuminate\Database\Query\Builder::whereDate(), called in 

なぜを出力しますか?

+0

私はあなたがwhereDate() 'ここでは、普通の'ここで、() ''使うべきとは思いません。 –

+0

が変更されました。それでも電子メールアドレスが出力され、条件が真になります –

+0

Laravelの日付がCarbonでうまく動作することを考えれば、書式設定された文字列ではなくCarbonオブジェクトを渡してみましたか? – ThePurpleK

答えて

0

あなたは列を指定していません。

whereDate('added_to_cart_at', $carbon)