$order = Order::query()
->where('id', $order->id)
->with('user', 'gift', 'restaurant', 'orderItems', 'orderItems.ingredients', 'orderItems.options', 'orderItems.product')
->get();
$order->load([
'user' => function ($builder) {
$builder->select('id', 'name');
},
'orderItems' => [
'ingredients', 'options', 'product'
]
]);