Add payments summary

This commit is contained in:
DariusIII
2026-05-22 15:24:55 +02:00
parent 97aaa3f665
commit 890dbede94
3 changed files with 97 additions and 1 deletions
+18 -1
View File
@@ -7,6 +7,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Carbon;
class Payment extends Model
{
@@ -24,7 +25,7 @@ class Payment extends Model
/**
* @param Builder<Payment> $query
* @param array{username?: string, email?: string, payment_status?: string, invoice_status?: string} $filters
* @param array{username?: string, email?: string, payment_status?: string, invoice_status?: string, start_date?: string, end_date?: string} $filters
* @return Builder<Payment>
*/
public function scopeFilter(Builder $query, array $filters): Builder
@@ -52,6 +53,22 @@ class Payment extends Model
}
}
if (! empty($filters['start_date'])) {
try {
$query->where('created_at', '>=', Carbon::parse($filters['start_date'])->startOfDay());
} catch (\Exception) {
// ignore invalid date input
}
}
if (! empty($filters['end_date'])) {
try {
$query->where('created_at', '<=', Carbon::parse($filters['end_date'])->endOfDay());
} catch (\Exception) {
// ignore invalid date input
}
}
return $query;
}
}