Collection 计算订单汇总
打赏作者

liudong0763

赞一个,一看到这个更新了,就马上学习

liudong0763

老师这个场景可以用数据库查询语句得到同样的结果么

JellyBool 回复 liudong0763

理论上必然可以的吧

liudong0763 回复 JellyBool

哪个效率更高?

yh4494

这个灰常有用!!!

JellyBool 回复 yh4494

hhh ,感谢支持啊

sunnirvana

今天又用collection解决了一个问题,真的是非常好用

JellyBool 回复 sunnirvana

是吧,其实熟练之后,感觉非常好用的

chenze007

public function index(Request $request) {
$obj=new Request();
$obj->input(‘file’);
$file = request->file('file'); } 这里的obj和 $request 有什么区别 为什么 用 (Request $request) 这种方式
跟php系特性有关系么

JellyBool 回复 chenze007

专业术语是:方法依赖注入。就是 laravel 背后会帮你做这个:

$obj=new Request();
    $obj->input('file');
chenze007 回复 JellyBool

两者 有区别么

chenze007 回复 JellyBool

是laravel 才可以这样 写么 (Request $request)
依赖跟注入 指的是 那一块啊 给指条路呗

JellyBool 回复 chenze007

依赖注入就是这个 (Request $request)

chenze007

是laravel 才可以这样 写么 (Request $request)
依赖跟注入 指的是 那一块啊 给指条路呗

liudong0763

老师,用 collection 怎么实现 excel 中的数据透视表的场景呀,求指导

JellyBool 回复 liudong0763

不知道这是什么:数据透视表的场景

GOD_Nt

老师,如果这里的日期是Y-m-d H:i:s 格式的,我现在要按天统计应该如何操作呢

JellyBool 回复 GOD_Nt

根据 Y-m-d 这个 groupBy() 或者 filter 判断Y-m-d H:i:s是否是 sameday

RJustice

dd之后在chrome格式化显示的插件是什么

13617622968

刚好有用!感谢

dtf

Jelly 你好!如下代码:
point=6521;point = 6521; baseData = [
1 => [0,2300],
2 => [2301,5000],
3 => [5001,13000],
4 => [13001,23000],
5 => [23001,50000]
];
求$point 在哪个区间,并返回键值(1,2,3,4,5)
用传统方法很好做,如果用collect()怎么重组呢?

JellyBool 回复 dtf

这个我试了一下,貌似没有很好的解决方案

dtf 回复 JellyBool

OK,think you very much!

carsonlius 回复 dtf
  • 试下下面的,其实差别不大(场景太简单)
        // collection
        $list_collection = collect($baseData)->filter(function ($item) use($point){
            return $point > reset($item) && $point<end($item);
        });

        // array
        $list_result = array_filter($baseData, function($item) use ($point){
            return $point > reset($item) && $point<end($item);
        });
dtf 回复 carsonlius

thinks!

xiamihow

老师,请问一下,下面这个有没有什么更优雅的写法呢?

$opening = OpeningView::whereBetween('complated_at', $ptime)
            ->where('isComplated', 1)
            ->where('price', '>', 0)
            ->select(
                DB::raw('sum(price) as price'), //包含退款的实际业绩  + 退款
                DB::raw('count(id) as open_count'),//包含退款总单数  + 退款
                DB::raw('sum(case when  price>0  then price end) as openPrice'),//不包含退款的业绩
                DB::raw('count(case when  price>0  then 1 end) as openCount'))//不包含退款的总单数
            ->first();