'decimal:2', 'tax_rate' => 'decimal:2']; public function order(): BelongsTo { return $this->belongsTo(Order::class); } public function variant(): BelongsTo { return $this->belongsTo(ProductVariant::class, 'product_variant_id'); } public function getLineTotalAttribute(): float { return round($this->unit_price * $this->quantity, 2); } public function getTaxAmountAttribute(): float { $net = $this->unit_price / (1 + $this->tax_rate / 100); return round(($this->unit_price - $net) * $this->quantity, 2); } }