我使用碳来比较2个日期和今天的日期,但是我在一个名为工作日的数据库中还有另一个字段,其中包含以下值:
' MO' ' TU' ' WE'
因此,我不想仅按日期搜索和输出,而是按工作日搜索:
public function show($id)
{
$today = Carbon::now();
$weekday = //whatever carbon or something else has to retrieve today's day
$event = Event::with('businesses')
->where('startdate', '<', $today->format('Y-m-d'))
->where('endate', '>', $today->format('Y-m-d'))
//or where ('weekday') = $weekday?
->get();
return view('events.showEvent', compact('event'));
}
答案 0 :(得分:7)
我不确定Carbon是否有这样的格式,但你可以做的是从天数和当前周日不变的地图中获取wekkday:
$weekMap = [
0 => 'SU',
1 => 'MO',
2 => 'TU',
3 => 'WE',
4 => 'TH',
5 => 'FR',
6 => 'SA',
];
$dayOfTheWeek = Carbon::now()->dayOfWeek;
$weekday = $weekMap[$dayOfTheWeek];
答案 1 :(得分:1)
如果您使用的是英语环境,则可以通过对Carbon的l
格式进行一些处理来获得简短的工作日格式,该格式将返回工作日名称:
strtoupper(substr($today->format('l'), 0, 2)); // Returns 'MO', 'TU', etc
如果您可以使用Carbon 2(在2018-08-31可用),它甚至可以更短:
strtoupper($today->isoFormat('dd'));
答案 2 :(得分:0)
$ weekday = Carbon :: parse($ today)-> format('1');