【发布时间】:2020-02-18 11:06:13
【问题描述】:
当我按日期过滤相关模型时,我遇到了奇怪的问题, 考虑这段代码:
function applyDepositOnRangeFilter($query, $request)
{
if ($request->has('deposit_at_from')) {
$query->whereHas('deposits', function ($query) use ($request) {
$query->whereDate('created_at', '>=', $request->input('deposit_at_from'));
});
}
if ($request->has('deposit_at_to')) {
$query->whereHas('deposits', function ($query) use ($request) {
$query->whereDate('created_at', '<=', $request->input('deposit_at_to'));
});
}
}
如果我过滤了昨天的日期 17/02/20;它也返回今天日期为 18/02/20 的结果 如果我过滤 16/02/20 它也返回 17 和 18, 它只发生在所有相关的模型过滤中
【问题讨论】:
-
你传递的日期格式是什么?
-
删除大于号仅使用 =
-
你的数据库字段
(created_at)和$request->input('deposit_at_from'))格式应该一样 -
格式为 deposit_at_to=2020-02-17
标签: php laravel eloquent eloquent-relationship