我在选择特定日期之间的行范围以及获取特定列的总和时遇到问题。
以下是我用于用户模型的功能:
public function monthlyStats($date)
{
$start = date('n/1/y',strtotime($date)); // first day of the month
$end = date('n/t/y',strtotime($date)); // last day of the month
return UserStats::where('uid','=',"'$this->uid'")->whereBetween('date', array("'$start'", "'$end'"))->sum('duration');
}
所以基本上,它选择的用户统计信息中用户ID = X且统计日期介于x和x日期之间......然后它取日期之间的持续时间列的总和。
以下是实际查询的内容:
select sum(`duration`) as aggregate from `user_stats` where `uid` = '123456' and `date` between '8/1/14' and '8/31/14'
我遇到的问题是它选择了非常古老的日期...例如,它选择的是8月8日的行,而不是当前年份14
有什么想法吗?