Carbon::parse($value)->translatedFormat('l d/m/y') ); } public function purchaseDetail() { return $this->hasMany(PurchaseDetail::class, 'purchase_number', 'number'); } public function product() { return $this->hasOneThrough( Product::class, PurchaseDetail::class, 'purchase_number', 'number', 'number', 'product_number' ); } public function supplier() { return $this->belongsTo(Supplier::class); } public function scopeFilter($query, array $filters) { $query->when($filters['search'] ?? null, function ($query, $search) { $query->where(function ($query) use ($search) { $query->where('name', 'like', '%' . $search . '%') ->orWhere('phone', 'like', '%' . $search . '%') ->orWhere('email', 'like', '%' . $search . '%') ->orWhere('status', 'like', '%' . $search . '%'); }); }); } public function totalPrice() { return $this->purchaseDetail(); } }