为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 雄辩的参数太少,函数 1 已通过,2 在我的查询中预期

Laravel 雄辩的参数太少,函数 1 已通过,2 在我的查询中预期

PHP
HUWWW 2022-09-03 17:25:59
这是我的代码: $sum = $pipes->sum(function ($pipe) use ($filter) {            $total = 0;            $items = $pipe->items                ->where('status', 'Terminé')                ->where('closed', false)                ->where(function ($qu) use ($filter) {                    if ($filter === false) {                        $qu->where('payment_id', 'exists', false)                            ->where('closed', false)                            ->where('locker', 'exists', false);                    } else {                        $qu->where('payment_id', 'exists', true)                            ->where('closed', false)                            ->where('locker', 'exists', false)                            ->where('failed_to_pay', true);                    }                })->get();            foreach ($items as $item) {                $total = $total + ($item->price * $item->quantity);            }            return $total;        });错误是关于->get();有人有解决问题的想法吗?谢谢!
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我不知道这个条件,但你可以简单地试试这个->where(function ($qu) use ($filter))


  $sum = $pipes->sum(function ($pipe) use ($filter) {

            $total = 0;

            $itemsQ = $pipe->items

                ->where('status', 'Terminé')

                ->where('closed', false);


                if($filter == false) {

                   $items = $itemsQ->where('payment_id', 'exists', false)

                    ->where('closed', false)

                    ->where('locker', 'exists', false)->get();

                }else {

                    $items = $itemsQ->where('payment_id', 'exists', true)

                    ->where('closed', false)

                    ->where('locker', 'exists', false)

                    ->where('failed_to_pay', true)->get();


                }


            foreach ($items as $item) {

                $total = $total + ($item->price * $item->quantity);

            }


            return $total;

        });

不要在函数中添加那么多参数,而是创建实例并根据条件添加查询where()items


查看完整回答
反对 回复 2022-09-03
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号