Laravel 查找存在于 CarbonPeriod 中的记录
Laravel find records that exists in a CarbonPeriod
我在之后的 2 个日期之间创建了一个 CarbonPeroid 对象
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');
现在我想过滤存在于该 $period 对象中的所有帖子。
我这样试过,但没用
$posts = Posts::whereBetween(
'created_at', [$period]
)->get();
感谢任何帮助。
提供您的 CarbonPeriod
对象的开始和结束日期。
$posts = Posts::whereBetween(
'created_at', [$period->startDate, $period->endDate]
)->get();
我相信你想做一个 groupBy(day)
是 CarbonPeriod
中的习惯
所以你可以这样做
$posts = Posts::whereBetween('created_at', ['2018-06-14', '2018-06-20'])
->get()
->groupBy(function($val) {
return Carbon::parse($val->created_at)->format('d');
});
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');
//---Iterate Over the Period
foreach ($period as $date) {
echo $date->format('Y-m-d');
}
//---Convert the period to an array of dates
$dates = $period->toArray();
可以直接在whereBetween方法中指定日期,不需要通过carbonPeriod创建日期。
注意,您将日期转换为日期格式。
像这样:
$posts = Posts::whereBetween(
'created_at', [$startDate, $endDate]
)->get();
我在之后的 2 个日期之间创建了一个 CarbonPeroid 对象
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');
现在我想过滤存在于该 $period 对象中的所有帖子。
我这样试过,但没用
$posts = Posts::whereBetween(
'created_at', [$period]
)->get();
感谢任何帮助。
提供您的 CarbonPeriod
对象的开始和结束日期。
$posts = Posts::whereBetween(
'created_at', [$period->startDate, $period->endDate]
)->get();
我相信你想做一个 groupBy(day)
是 CarbonPeriod
所以你可以这样做
$posts = Posts::whereBetween('created_at', ['2018-06-14', '2018-06-20'])
->get()
->groupBy(function($val) {
return Carbon::parse($val->created_at)->format('d');
});
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');
//---Iterate Over the Period
foreach ($period as $date) {
echo $date->format('Y-m-d');
}
//---Convert the period to an array of dates
$dates = $period->toArray();
可以直接在whereBetween方法中指定日期,不需要通过carbonPeriod创建日期。
注意,您将日期转换为日期格式。
像这样:
$posts = Posts::whereBetween(
'created_at', [$startDate, $endDate]
)->get();