added new scopes to report model

This commit is contained in:
Cihan Şentürk 2025-04-29 20:50:09 +03:00 committed by GitHub
parent 62315c98b5
commit bd0fe0e0be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 38 additions and 0 deletions

View File

@ -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.
*