load([ "variants.prices.currency", "variants.values.option", "media", "collections", ]); $option = $product->variants->first()?->values->first()?->option; $variantsData = $product->variants ->map( fn($v) => [ "id" => $v->id, "price" => $v->prices->first()?->price->decimal, "image" => null, // variant-level media not differentiated yet ], ) ->values() ->toArray(); $firstImage = $product->media->first()?->getUrl(); // temp categories here $categories = \Lunar\Models\Collection::orderBy("_lft")->get(); // dd($product); return view("product.show", [ "categories" => $categories, "product" => $product, "option" => $option, "variantsData" => $variantsData, ]); } }