رابطه بین دسته بندی و محصولات پروژه تمرینی خودم رو چند به چند تعریف کردم به این شکل
class Product extends Model
{
public function categories()
{
return $this->belongsToMany(Category::class);
}
public function getPriceAttribute($price)
{
$categories=$this->categories;
$coupons =collect(new Coupon);
foreach($categoriesas $category){
$coupons->add($category->validCoupons());
}
if ($coupons->isNotEmpty()){
$discountCalculator = resolve(DiscountCalculator::class);
return $discountCalculator->discountedPrice($coupons->first() ,$price);
}
return $price ;
}
}
تنها قسمتی که تغییر دادم همین accessor هست. اما با این خطا مواجه میشم:
Argument 1 passed to App\Support\Discount\DiscountCalculator::discountedPrice() must be an instance of App\Coupon, instance of Illuminate\Database\Eloquent\Collection given