<?php namespace App\Models; use Database\Factories\ProductServiceFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class ProductService extends Model { /** @use HasFactory<ProductServiceFactory> */ use HasFactory, SoftDeletes; protected $fillable = [ 'order_id', 'service_file_id', 'service_type', 'placement', 'setup_amount', 'amount', 'amount_price', 'notes', ]; protected $appends = [ 'service_details', 'price', ]; public function getPriceAttribute(): float { return number_format($this->amount * $this->amount_price, 2); } public function getServiceDetailsAttribute(): string { $file = $this->serviceFile; return $file->name.', '.$this->placement.', '.$file->width.' W, '.$file->height.' H'; } /** * @return BelongsTo<Order, self> */ public function order(): BelongsTo { return $this->belongsTo(Order::class); } /** * @return BelongsTo<ServiceFile, self> */ public function serviceFile(): BelongsTo { return $this->BelongsTo(ServiceFile::class); } }