'integer', 'unit_price' => 'integer', 'subtotal' => 'integer', ]; } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logAll() ->logOnlyDirty() ->dontLogEmptyChanges(); } protected function formattedSubtotal(): Attribute { return Attribute::make( get: fn () => 'Rp '.number_format($this->subtotal, 0, ',', '.'), ); } protected function formattedUnitPrice(): Attribute { return Attribute::make( get: fn () => 'Rp '.number_format($this->unit_price, 0, ',', '.'), ); } public function productVariant(): BelongsTo { return $this->belongsTo(ProductVariant::class)->withTrashed(); } public function restock(): BelongsTo { return $this->belongsTo(Restock::class); } public function user(): BelongsTo { return $this->belongsTo(User::class); } }