laravel 统计每日订单

按订单支付日期统计每日订单数量,需要用到 laravel 原始表达式。

有时候你可能需要在查询中使用原始表达式。这些表达式将会被当作字符串注入到查询中,所以要小心避免造成 SQL 注入攻击!要创建一个原始表达式,可以使用 DB::raw 方法:

 Order::query()
                ->selectRaw('DATE_FORMAT(paid_at,"%m-%d") as day')
                ->selectRaw('COUNT(*) as count')
                ->where('paid_at', '>', $time)
                ->where('paid_at', '<', date('Y-m-d 00:00:00', time()))
                ->groupBy('day')
                ->get()->toArray();

mysql 原生语句(转载)

SELECT DATE_FORMAT( deteline, "%Y-%m-%d %H" ) , COUNT( * ) FROM testGROUP BY DATE_FORMAT( deteline, "%Y-%m-%d %H" ) 
查询某天:
deteline, "%Y-%m-%d
某时:
deteline, "%Y-%m-%d %H"
依次类推。
其实就是对dateline进行处理,然后再对处理后的数据分组

laravel自增或自减

查询构造器也为指定字段提供了便利的自增和自减方法 。此方法提供了一个比手动编写 update 语法更具表达力且更精练的接口。
这两个方法都必须接收至少一个参数(要修改的字段)。也可选择传入第二个参数,用来控制字段应递增/递减的量:

DB::table('users')->increment('votes');

DB::table('users')->increment('votes', 5);

DB::table('users')->decrement('votes');

DB::table('users')->decrement('votes', 5);

//在指定要操作中更新其它字段:
DB::table('users')->increment('votes', 1, ['name' => 'John']);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1.路由:通过路由将请求发送至处理函数 2.Laravel是简洁优雅的PHP web开发框架,具有富于表达性且简洁...
    Mr丶T阅读 1,373评论 0 0
  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 8,632评论 0 121
  • 原文:https://my.oschina.net/liuyuantao/blog/751438 查询集API 参...
    阳光小镇少爷阅读 3,858评论 0 8
  • 我们都了解过@JakeWharton 大神的ButterKnife注解库。使用这个库我们可以不用写很多无聊的fin...
    wangling90阅读 563评论 0 0