【发布时间】:2016-08-16 07:47:49
【问题描述】:
我正在尝试使用带有两个给定开始和结束日期的 'whereBetween' eloqouent 查询。
$first_day_this_month = date('Y-m-01 H:s:i'); //get the first day of the current month
$yesterDay = date('Y-m-d H:s:i',strtotime("-1 days")); //get yesterday's date
$d = m_chat_history::where('employee_id',$request->other_id)
->whereNull('to_group')->where('to_employee_id',$request->id)
->whereBetween('created_at',[$yesterDay,$first_day_this_month])
->get();
我通过“var_dump”确保我拥有查询所需的所有数据,它确实为我提供了查询所需的所有数据,但查询返回一个空输出。有什么想法、线索、建议、帮助、建议吗?我试图删除“whereBetween”,我的查询就像它返回预期的输出一样工作,但使用“whereBetween”,返回输出为空。
【问题讨论】:
-
mysql日期时间格式为:date('Y-m-01 H:i:s');你写的是 'H:s:i' 而不是 'H:i:s'
-
不要说“不工作”,要说“没有输出”。差异可能看起来很小,但第二个措辞表明没有语法错误,这可能是一个巨大的问题。
-
@Sovon 试过 'H:i:s' 但还是一样。
-
您昨天的日期可能比每月的第一天大。一开始应该是较小的:
whereBetween('created_at',[$first_day_this_month, $yesterDay]) -
@CodeDemon:如果你删除了
whereBetween条件,你会得到并记录吗?
标签: php mysql laravel laravel-5 eloquent