私はレコードを取得するために、次のコードを持っている:Laravel:雄弁日報や月報
App\User::orderBy('balance', 'DESC')->limit(3)->get();
はどのように今日は、先週と先月のレコードを取得することができますか?
私はDB::raw('MONTH(created_at)', '=', date('m'))
を追加していましたが、いいえ!あなたはカーボンを使用して、本当に素敵な日付を処理することができます
私はレコードを取得するために、次のコードを持っている:Laravel:雄弁日報や月報
App\User::orderBy('balance', 'DESC')->limit(3)->get();
はどのように今日は、先週と先月のレコードを取得することができますか?
私はDB::raw('MONTH(created_at)', '=', date('m'))
を追加していましたが、いいえ!あなたはカーボンを使用して、本当に素敵な日付を処理することができます
、ので、ここでいくつかの例には、我々はそれを利用することができる方法ですlaravelに組み込まれています。
use Carbon\Carbon;
はたぶん、日付は次のように等しくなります。
//one day (today)
$date = Carbon::now()->startOfDay;
//one month/30 days
$date = Carbon::now()->subDays(30)->startOfDay;
App\User::where('field_name', '>=', $date)->orderBy('field_name', 'desc')->limit(3)->get();
あなたはhttp://carbon.nesbot.com/docs/
幸運でフルカーボンのドキュメントを超える見ることができます!先週のために、あなたのモデルにスコープを作成する例をとても良く行うに
:
public function scopeLastWeek($query)
{
return $query->where($query->created_at->diffInDays($query->created_at->copy()->addWeek()));
}
次に、このようなあなたのコントローラでそれを使用します。
App\User::LastWeek()->orderBy('balance', 'DESC')->limit(3)->get();
は、それが動作している場合は、私に教えてください..
私は上記のクエリでどのように使用できますか?質問の中で。それは 'orderBy()'を持っています – Gammer
は私の答えを – ExohJosh
更新しましたあなたは[クエリスコープ](https://laravel.com/docs/5.2/eloquent#local-scopes)を検討することもできます。 。 –