从 Laravel 5.6 集合中删除项目

小丑刺客

如果 Laravel 集合没有特定的操作代码,我想从它的集合中删除项目。当我在互联网上搜索如何完成此操作时,我发现了$collection->forget()$collection->reject(),但我无法访问我的代码中的集合,我收到一条错误消息,指出$orders未定义。我需要更改此代码才能完成它?

public function lasData() {
    $orders = $this->getShopOrders();

    $orders->each(function($order) {
        $order->ShopOrderRoutingStepPlans = $order->shopOrderRoutingStepPlans;

        $order->ShopOrderRoutingStepPlans->each(function($step) {
            if($step->LineNumber == 3) {
                $checkCode = substr($step->OperationCode, 0, 3);

                if($checkCode !== "LAS") {
                    //unset($step); **<- Here to forget the $order**
                }
            }
        });

        $order->Description = str_replace("Car Mats","", $order->Description);
        $order->ShopOrderMaterialPlans = $order->shopOrderMaterialPlans;
    });

getShopOrders 函数如下:

public function getShopOrders() {
    $orders = new \Picqer\Financials\Exact\ShopOrder($this->connection);

    $results = $orders->filter('', 'ShopOrderRoutingStepPlans,ShopOrderMaterialPlans', '', array('$top' => 30));
    foreach($results as $result) {
        //Format date to legible date stamps
        $result->Created = $this->createTime($result->Created);
        $result->PlannedDate = $this->createTime($result->PlannedDate);
        $result->EntryDate = $this->createTime($result->EntryDate);
        $result->Modified = $this->createTime($result->Modified);
        $result->PlannedStartDate = $this->createTime($result->PlannedStartDate);
        $result->Item = $this->getItem($result->Item);

        //save Order
        if (!shopOrder::where('ID', '=', $result->ID)->exists()) {
           $saveOrder = shopOrder::create($this->toJson($result));
        } else {
            break;
        }

        foreach($result->ShopOrderRoutingStepPlans['results'] as $plan) {
            //Save RoutingPlan
            $routingplan = shopOrderRoutingStepPlan::create($this->toJson($plan));
        }

        foreach($result->ShopOrderMaterialPlans['results'] as $plan) {
            //Save MaterialPlan
            $routingplan = shopOrderMaterialPlan::create($this->toJson($plan));
        }

    }

    return $results;
}
乔纳斯·施陶登迈尔

使用filter()方法:

$filteredOrders = $orders->filter(function($order) {
    $remove = false;

    $order->ShopOrderRoutingStepPlans = $order->shopOrderRoutingStepPlans;

    $order->ShopOrderRoutingStepPlans->each(function($step) use(&$remove) {
        if($step->LineNumber == 3) {
            $checkCode = substr($step->OperationCode, 0, 3);

            if($checkCode !== "LAS") {
                $remove = true;
                return false;
            }
        }
    });

    $order->Description = str_replace("Car Mats","", $order->Description);
    $order->ShopOrderMaterialPlans = $order->shopOrderMaterialPlans;

    return !$remove;
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel:如何通过ID从集合中删除项目

来自分类Dev

从集合中删除项目更改其类型 - Laravel

来自分类Dev

Laravel 5-firstOrCreate()并删除旧项目?

来自分类Dev

Laravel 5测验项目

来自分类Dev

从登录Laravel 6中删除特定路由

来自分类Dev

如何在Laravel 6中使用Font Awesome 5图标

来自分类Dev

如何在Laravel 5中删除会话

来自分类Dev

从Entity Framework 6中的集合中删除

来自分类Dev

如何从Laravel 5中的集合中获取物品?

来自分类Dev

在laravel 5中查询

来自分类Dev

如何在Laravel 5中对合并的集合进行分页?

来自分类Dev

如何在Laravel集合中编辑项目

来自分类Dev

如何在Laravel集合中编辑项目

来自分类Dev

从 Laravel 集合中删除重复的属性

来自分类Dev

物理删除在laravel5中启用软删除的模型?

来自分类Dev

如何在Laravel 6中删除数据库?

来自分类Dev

Angular 5/6 项目会话存储

来自分类Dev

Laravel 5从刀片中的集合获取属性

来自分类Dev

在Laravel 5中使用Ajax从表中删除记录

来自分类Dev

在Laravel 5+中从数据库中删除列

来自分类Dev

Laravel 5中的API异常

来自分类Dev

在Laravel 5中创建用户

来自分类Dev

laravel 5中的搜索查询

来自分类Dev

Laravel 5中的PHP Soapclient

来自分类Dev

在laravel 5中实现ckeditor

来自分类Dev

在Laravel 5中设置队列

来自分类Dev

laravel 5中的日期格式

来自分类Dev

Laravel 5中的致命错误

来自分类Dev

Laravel 5中的VARCHAR max