Я запутался здесь
session(['order_id' => $order_id]);
return redirect()->route('reports.index')->with('order_id', $request->id);
когда вы возвращаете что-то с "-> with ()", оно сохраняется в сессии, так зачем использовать session ()? и $ order_id не определен в вашем методе.
и лучший способ поместить что-то в сессию - вот так
Session::put('order_id');
Я думаю, что если вы сделаете это
->with('order_id', $order->id); // You will get the current order id created