を参照してください。この
if (Input::get('month')) {
$articles = NewsItem::where('created_at', Carbon::parse(Input::get('month'))->format('F Y'))->get();
};
のように変更する必要があります。
その月のすべての記事が必要な場合は、いくつかの素敵なCarbonヘルパーと組み合わせて使用できます。この場合、クロージャを使用する必要はありません。
例:だからここに、ここで必要とされていないクロージャを使用して
// Garble or empty inputs will throw an Exception in Carbon
try {
// this will create a Carbon object or Carbon will throw an exception
$date = Carbon::parse(request()->input('month'));
$articles = NewsItem::whereBetween('created_at', [
$date->startOfMonth()->toDateTimeString(),
$date->endOfMonth()->toDateTimeString(),
])->get();
} catch(\Exception $e) {
// gracefully handle Exception
dd($e->getMessage());
}
。
あなたがそれらを使用する方法の例を見たい場合は、閉鎖にLaravel query parameter grouping
いくつかの追加の例を参照してください。代わりの間で使用するのでは、あなたの場合は
を、あなたは可能性があり、グループ2
// Garble or empty inputs will throw an Exception in Carbon
try {
// this will create a Carbon object or Carbon will throw an exception
$date = Carbon::parse(request()->input('month'));
$articles = NewsItem::where('created_at', function($query) use($date) {
$query
->where('created_at', '>=', $date->startOfMonth()->toDateTimeString())
->where('created_at', '<=', $date->endOfMonth()->toDateTimeString());
})->get();
} catch(\Exception $e) {
// gracefully handle Exception
dd($e->getMessage());
}
私はnews_itemsテーブルのcreated_atフィールドがdatetimeフィールドであると仮定しますか? – Robert