@foreach ($products as $product) @php $nonEmptyStock = $product->stocks->firstWhere('productStock', '>', 0); $fallbackStock = $product->stocks->first(); // fallback if no stock > 0 $stock = $nonEmptyStock ?? $fallbackStock; $latestPurchasePrice = $stock?->productPurchasePrice ?? 0; $latestSalePrice = $stock?->productSalePrice ?? 0; $latestWholeSalePrice = $stock?->productWholeSalePrice ?? 0; $latestDealerPrice = $stock?->productDealerPrice ?? 0; $productStock = $product->total_stock ?? 0; @endphp @usercan('products.delete') @endusercan {{ ($products->currentPage() - 1) * $products->perPage() + $loop->iteration }} {{-- Hidden Route --}} Img @php $stocks = $product->stocks->map(function ($batch) use ($product) { $hasWeight = $product->category ? $product->category->variationWeight : false; return [ 'id' => $batch->id, 'batch_no' => $batch->batch_no, 'expire_date' => $batch->expire_date ? formatted_date($batch->expire_date) : 'N/A', 'productStock' => $batch->productStock ?? 0, 'productSalePrice' => $batch->productSalePrice ?? 0, 'productPurchasePrice' => $batch->productPurchasePrice ?? 0, 'productWholeSalePrice' => $batch->productWholeSalePrice ?? 0, 'productDealerPrice' => $batch->productDealerPrice ?? 0, 'warehouse' => $batch->warehouse->name ?? '', 'rack' => $product->rack->name ?? '', 'shelf' => $product->shelf->name ?? '', 'weight' => $hasWeight ? $product->weight : null, 'showWeight' => $hasWeight ? 1 : 0, ]; }); @endphp {{ $product->productName }} {{ $product->productCode }} {{ $product->brand->brandName ?? '' }} {{ $product->category->categoryName ?? '' }} @if (moduleCheck('WarehouseAddon')) {{ $fallbackStock->warehouse->name ?? '' }} @endif {{ $product->unit->unitName ?? '' }} @usercan('products.price') {{ currency_format($latestPurchasePrice, currency: business_currency()) }} @endusercan {{ currency_format($latestSalePrice, currency: business_currency()) }} {{ $product->total_stock }} {{ $product->rack->name ?? '' }} {{ $product->shelf->name ?? '' }} @endforeach