Carbon::parse($value)->translatedFormat( "l d/m/Y" ) ); } public function saleDetail() { return $this->hasMany(SaleDetail::class, "sale_number", "number"); } public function customer() { return $this->belongsTo(Customer::class); } public function scopeSearch($query, array $filters) { $query->when($filters["search"] ?? null, function ($query, $search) { $query ->whereHas("customer", function ($query) use ($search) { $query ->where("name", "like", "%" . $search . "%") ->orWhere("phone", "like", "%" . $search . "%"); }) ->orWhere(function ($query) use ($search) { $query->where("status", "like", "%" . $search . "%"); }); }); } 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["product_number"] ?? null, function ( $query, $search ) { $query->where("number", "like", "%" . $search . "%"); }); } }