Carbon::parse($value)->translatedFormat( "l d/m/y" ) ); } protected function price(): Attribute { return Attribute::make( get: function ($value) { $ppn = Ppn::first()->ppn; return $this->ppn ? FunctionService::ppn($value, $ppn) : $value; } ); } public function product() { return $this->belongsTo(Product::class, "product_number", "number"); } public function scopeFilter($query, array $filters) { $query ->when($filters["start_date"] ?? null, function ($query, $search) { $query->whereDate("created_at", ">=", $search); }) ->when($filters["end_date"] ?? null, function ($query, $search) { $query->whereDate("created_at", "<=", $search); }) ->when($filters["category"] ?? null, function ($query, $search) { $query ->where("sale_number", "like", $search . "%") ->orWhere("purchase_number", "like", $search . "%"); }); } }