2017-04-15 10 views
2

laravel db queryまたはEloquent ORMを使用してデータベース上のすべてのデータを選択したいとします。だから、私は彼らが作成した日から3日以外のすべてのデータが欲しい。データ 'A'は15日に作成され、16日にチェックインするとデータ 'A'は表示されませんが、3日以上、3日以上のものが表示されることがあります。私が18日か19日に戻ってくると、データ 'A'が表示されるはずです。明らかに、3日以上経過しているためです。 ので、私はそう誰も私のためにこれを修正することができlaravel where節とcreated_atを使用してデータベースから選択する方法

$users = DB::table('matched_users')->where('created_at', '>=', 
Carbon::now()->subDays(3)); 

の下に動作していない、このコードを書きました。

私はそれがうまくいきましたが、両方の人に彼の日付がちょうど1日であることを示しています。そうでない十分なコードという

Data Name - created_at 
ozil  21/04/2012 16:09:22 
mark  21/04/2012 16:09:22 
cyril  22/04/2012 16:19:21 

ので、今日25/04/2012それは私が戻ってすべての結果を得ることであるとして、上記のクエリを実行するクエリを実行する場合。

しかし>=<=の結果は、私はあなたが「彼らが作成した場所の日から3日間よりも古い」を意味推測空のコレクション

+0

を書くための正しい方法である私はちょうど私がやった –

答えて

0

で変更した場合。この場合、クエリは次のようになります。

DB::table('matched_users')->where('created_at', '<=', Carbon::now()->subDays(3)); 
+0

をした@Snorehorseだけでなく、それが唯一の空のコレクションが表示されていること –

0
$users = DB::table('matched_users')->whereDate('created_at', '<=', Carbon::now()->subDays(3))->get(); 

コード

関連する問題