سلام
اومدید در این مدل product متود زیر تعریف کردید
public function getPriceAttribute($price)
{
$coupons = $this->category->validCoupons();
if ($coupons->isNotEmpty()){
$discountCalculator = resolve(DiscountCalculator::class);
return $discountCalculator->discountedPrice($coupons->first() ,$price);
}
return $price ;
}
این خط را در نظر بگیرید
$coupons = $this->category->validCoupons();
حالا این را در نظر بگیرید
namespace App\\Support\\Discount\\Coupon\\Traits;
use App\\Coupon;
use Carbon\\Carbon;
trait Couponable
{
public function coupons()
{
return $this->morphMany(Coupon::class , 'couponable');
}
public function validCoupons()
{
return $this->coupons->where('expire_time' , '>' , Carbon::now());
}
}
متود validCoupons
چه طور متوجه میشود که مثالا محصول 2 در دسته بندی یک قرار دارد که ایا دسته بندی یک دارای کد تخفیف است یا خیر؟