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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 设计一个温度闭环控制系统
  • ¥100 关于加载卡的问题有能知道这个要怎么处理吗?
  • ¥100 rtmpose姿态评估
  • ¥15 java 通过反射找路径下的类,打包后就找不到
  • ¥15 通联支付网上收银统一下单接口
  • ¥15 angular有偿编写,
  • ¥15 centos7系统下abinit安装时make出错
  • ¥15 hbuildex运行微信小程序报错
  • ¥15 关于#python#的问题:我知道这个问题对你们来说肯定so easy
  • ¥15 wpf datagrid如何实现多层表头