where('product_variant_id', $productVariantId) ->where('price_type', $priceType) ->whereHas('cutting', fn ($query) => $query->where('status', CuttingStatus::VERIFIED)) ->join('cuttings', 'cutting_result_prices.cutting_id', '=', 'cuttings.id') ->orderByDesc('cuttings.created_at') ->select('cutting_result_prices.*') ->first(); } /** * @return list */ public function latestPricesForVariant(int $productVariantId): array { $prices = []; foreach (PriceType::cases() as $priceType) { $price = $this->resolve($productVariantId, $priceType); if ($price !== null) { $prices[] = $price; } } return $prices; } }