From e7f5efb0cfc36ba050d1145cd8d9f7a2d7cb02d0 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 11 Nov 2025 11:30:38 +0700 Subject: [PATCH] feat(model): menambahkan scope --- app/Models/Customer.php | 14 ++++++++++++++ app/Models/Expense.php | 14 ++++++++++++++ app/Models/Order.php | 12 ++++++++++++ 3 files changed, 40 insertions(+) diff --git a/app/Models/Customer.php b/app/Models/Customer.php index 729aeb5..ff07697 100644 --- a/app/Models/Customer.php +++ b/app/Models/Customer.php @@ -3,6 +3,8 @@ namespace App\Models; use App\Enums\Gender; +use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -23,6 +25,18 @@ protected function casts(): array ]; } + #[Scope] + public function today(Builder $query): void + { + $query->whereDate('created_at', today()); + } + + #[Scope] + public function yesterday(Builder $query): void + { + $query->whereDate('created_at', today()->subDay()); + } + public function user(): BelongsTo { return $this->belongsTo(User::class); diff --git a/app/Models/Expense.php b/app/Models/Expense.php index 91486b9..5dfcc7e 100644 --- a/app/Models/Expense.php +++ b/app/Models/Expense.php @@ -3,6 +3,8 @@ namespace App\Models; use App\Enums\ExpenseType; +use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -23,6 +25,18 @@ protected function casts(): array ]; } + #[Scope] + public function today(Builder $query): void + { + $query->whereDate('created_at', today()); + } + + #[Scope] + public function yesterday(Builder $query): void + { + $query->whereDate('created_at', today()->subDay()); + } + public function outlet(): BelongsTo { return $this->belongsTo(Outlet::class); diff --git a/app/Models/Order.php b/app/Models/Order.php index be9ffb3..54ce9c0 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -40,6 +40,18 @@ public function paid(Builder $query): void $query->where('status', OrderStatus::PAID->value); } + #[Scope] + public function today(Builder $query): void + { + $query->whereDate('created_at', today()); + } + + #[Scope] + public function yesterday(Builder $query): void + { + $query->whereDate('created_at', today()->subDay()); + } + public function outlet(): BelongsTo { return $this->belongsTo(Outlet::class);