format('Y-m-d H:i:s'); $back = Carbon::parse(time() - 315360000)->format('Y-m-d H:i:s'); $orders = Order::where('payment_status', 'waiting')->where('status', 'processing')->with('products')->whereBetween('created_at', [$back, $now])->get(); foreach ($orders as $order) { $order->status = 'cancelled'; $order->save(); foreach ($order->products as $row) { $product = Product::find($row->product_id); $product->count = $product->count + $row->count; $product->save(); } } } }