From bd0fe0e0befde13ed9de359f410055e7ffe27af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihan=20=C5=9Eent=C3=BCrk?= <53110792+CihanSenturk@users.noreply.github.com> Date: Tue, 29 Apr 2025 20:50:09 +0300 Subject: [PATCH] added new scopes to report model --- app/Models/Common/Report.php | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/app/Models/Common/Report.php b/app/Models/Common/Report.php index e16459895..916651a78 100644 --- a/app/Models/Common/Report.php +++ b/app/Models/Common/Report.php @@ -5,6 +5,7 @@ namespace App\Models\Common; use App\Abstracts\Model; use Bkwld\Cloner\Cloneable; use Illuminate\Support\Str; +use Illuminate\Database\Eloquent\Builder; class Report extends Model { @@ -43,6 +44,43 @@ class Report extends Model return $query->where('class', 'like', $class . '%'); } + /** + * Scope to only include reports of a given class. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param string $class + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeClass($query, $class) + { + return $query->where('class', '=', $class); + } + + public function scopeExpenseSummary(Builder $query): Builder + { + return $query->where($this->qualifyColumn('class'), '=', 'App\\Reports\\ExpenseSummary'); + } + + public function scopeIncomeSummary(Builder $query): Builder + { + return $query->where($this->qualifyColumn('class'), '=', 'App\\Reports\\IncomeSummary'); + } + + public function scopeIncomeExpenseSummary(Builder $query): Builder + { + return $query->where($this->qualifyColumn('class'), '=', 'App\\Reports\\IncomeExpenseSummary'); + } + + public function scopeProfitLoss(Builder $query): Builder + { + return $query->where($this->qualifyColumn('class'), '=', 'App\\Reports\\ProfitLoss'); + } + + public function scopeTaxSummary(Builder $query): Builder + { + return $query->where($this->qualifyColumn('class'), '=', 'App\\Reports\\TaxSummary'); + } + /** * Get the alias based on class. *