【发布时间】:2022-01-17 12:30:07
【问题描述】:
我正在尝试编写一个基于日期获取结果的雄辩查询。但日期将分别给出年、月和日。当我还为一个或多个输入传递“全部”时,我希望查询能够正常工作(例如,如果一天被指定为“全部”,则一个月中的所有天)。我知道我可以使用不同的“if”组合来做到这一点,但我想有一些简单的方法来做到这一点。有什么办法吗?
这是我写的代码。
$year = $request->input('year');
$month = $request->input('month');
$day = $request->input('day');
$reports = DailyReport::whereYear('date', $year)
->whereMonth('date', $month)
->whereDay('date', $day)->get();
【问题讨论】:
-
不,我认为某种条件是必要的,例如使用
when
标签: sql laravel eloquent laravel-8