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

Laravel:在处理数据后使用外部变量?

Laravel:在处理数据后使用外部变量?

PHP
白衣染霜花 2022-08-19 16:48:56
我有一个函数,我从数据库中获取订单,然后使用它们一次转到10个。如果我有100个订单,我相信会发生的流程是get将被调用10次(因为有100个订单)。现在,一旦完成,我希望能够访问 $totalOrders.这可能吗?getUnfilledOrderschunkcheckStatuscheckStatusgetUnfulfilledOrdersprotected function getUnfulfilledOrders(){    Order::where('order_status', '!=', true)        ->where('tracking_number', '!=', null)        ->limit(3000)        ->chunk(10, function ($unfulfilledOrders) {            $this->checkStatus($unfulfilledOrders);        });   // how to do something now with $totalOrders once ALL Orders are processed 10 at a time;}protected function checkStatus($unfilledOrders){    $totalOrders = array();    foreach ($unfulfilledOrders as $unfulfilledOrder) {         // logic here         array_push($totalOrders, $unfulFilledOrder->id);    }}
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

喜欢这个:


protected function getUnfulfilledOrders()

{

    $totalOrders = [];


    Order::where('order_status', '!=', true)

        ->where('tracking_number', '!=', null)

        ->limit(3000)

        // Add use (&$totalOrders)

        ->chunk(10, function ($unfulfilledOrders) use (&$totalOrders) {

            $totalOrders = array_merge($totalOrders, $this->checkStatus($unfulfilledOrders));

        });


   // how to do something now with $totalOrders once ALL Orders are processed 10 at a time;


}


protected function checkStatus($unfilledOrders)

{

    $totalOrders = array();


    foreach ($unfulfilledOrders as $unfulfilledOrder) {

         // logic here

         array_push($totalOrders, $unfilledOrder->id);

    }


    // Return the generated array

    return $totalOrders;

}

在这里,我在开始时启动了一个空数组,并将 返回的任何内容合并到其中。getUnfulfilledOrders()checkStatus()


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信