Selamun Aleyküm arkadaşlar,
Başlık umarım göz kanatmıyordur 😀
Projemizin ana sayfasında gösterilen ürünlerin sağ üst köşelerine ürünlere ait kodların aldıkları indirim miktarlarının en büyüğünü yazmak istiyorum. Ürünleri çektikten sonra relation kısmı hasMany olarak ayarlı başka yerlerde de kullanıyorum. Bende aşağıdaki gibi bir sorgu yaptım ve blade tarafını düzenlendim.
Kısaca ne yaptım ürün kodlarının olduğu tabloyu discount_percent isimli kolona göre orderBy ettim ve en büyük değer tepeye geldi. sonra blade tarafında @foreach sokmadan direk ->first diyerek ilk kaydı aldım ve discount_percent sıfırdan büyükse yaz dedim.
Edit 1 : ->first kısmı çalışmıyor blade tarafında mecburen @foreach sokup $loop->first @if statment içine aldım yeni halini aşağıda yazdım.
Böyle yaparak laravel'i üzmüş müyümdür yada bunun daha mantıklı bir hali var mıdır?
Saygılar, sevgiler
SiteController.php
$latestDomesticProducts = Product::with(['category','codes'=>function($query){
$query->select('id','product_id','discount_percent')->orderBy('discount_percent','desc');
}])
->where('origin_id','=',9)
->orderByDesc('id')
->limit(6)
->get();
homepage.blade.php
@foreach($product->codes as $code)
@if($loop->first && $code->discount_percent !== 0)
<div class="productDiscountArea">
%{{$code->discount_percent}}
</div>
@endif
@endforeach