【问题标题】:Laravel: WhereBetween Date with request dateLaravel:WhereBetween Date 与请求日期
【发布时间】:2020-04-06 14:00:24
【问题描述】:

我想在两次日期之间获取数据 像这段代码一样工作

$jodies = DisawarJodi::whereBetween('created_at', [now()->subDay()->format('Y-m-d') . " 08:00:00", now()->format('Y-m-d') . " 2:50:00"])->get();

但是当我使用请求时它不起作用

$date = Carbon::parse($request->date);
$jodies = DisawarJodi::whereBetween('created_at', [$date->subDay()->format('Y-m-d') . " 08:00:00", $date->format('Y-m-d') . " 2:50:00"])->get();

这段代码有什么问题

【问题讨论】:

  • 你能dd($request->date)吗?
  • 是的,我得到了这样的字符串"2020-04-04"

标签: php laravel laravel-7


【解决方案1】:

Carbon::parse 可能有点问题,因为它是对格式的最佳解释,但很容易出错。

试试Carbon::createFromFormat('Y-m-d', $request->date);

这样你就可以清楚地知道哪个字符代表日期中的内容。

【讨论】:

  • 我收到错误 InvalidArgumentException 格式分隔符不匹配 格式分隔符不匹配 格式分隔符不匹配 格式分隔符不匹配 格式分隔符不匹配 数据丢失
  • 工作代码是Carbon::createFromFormat('Y-m-d', $request->date),但仍然没有得到数据
  • 尝试dd($date) 只是为了检查它是否是具有正确值的 Carbon 对象。这不会解决问题,但它会让我们更多地了解我们正在使用的东西!
猜你喜欢
  • 2018-07-29
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多