doqs8936 2015-10-27 09:09
浏览 251
已采纳

laravel 5.1 mongodb(jenssegers / laravel-mongodb)查询日期不能正常工作

I'm using laravel 5.1 with mongodb package (jenssegers/laravel-mongodb) to build a leads manager system. I'm trying to get the count of leads from deterrent times but the return answer is wrong - for example if for $today_count I keep get the same as total count (I know it wrong, I can see by the dates in the collection) my code looks like that:

public function getCount()
{
    $client_id = \Auth::client()->id;
    $today = Carbon::now()->startOfDay();
    $today->setTimezone(Client::getTimezone())->toDateTimeString();
    $last_week = $today->subWeek();
    $today_count = Lead::where('client_id',$client_id)->where('created_at','>',$today)->get()->count();
    $last_week_count = Lead::where('created_at',$last_week)->where('client_id',$client_id)->get()->count();
    $forever = Lead::where('client_id',$client_id)->get()->count();
    return ['today' => $today_count, 'last_week' => $last_week_count, 'forever' => $forever];
}

What should I do to get the correct answer?

  • 写回答

1条回答 默认 最新

  • doumu5662 2015-11-04 11:33
    关注

    Solved!

    i found what the problem was, MongoDB date format is different then MySQL, before querying dates in MongoDB you shold convert in to mongo date formt via PHP object call MongoDate:http://php.net/manual/en/class.mongodate.php

    for example $today should look like this:

    $today = new \MongoDate(Carbon::now()->startOfDay()->timestamp);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?