feat: updates

This commit is contained in:
JP
2024-08-11 20:03:49 +08:00
parent 140e821e0c
commit 52431a2c61
45 changed files with 1152 additions and 287 deletions

View File

@@ -2,50 +2,49 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Casts\Attribute;
use App\Observers\BranchObserver;
use Illuminate\Database\Eloquent\Attributes\ObservedBy;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Znck\Eloquent\Traits\BelongsToThrough;
#[ObservedBy(BranchObserver::class)]
class Branch extends Model
{
use BelongsToThrough;
use HasFactory;
protected $guarded = [];
/**
* Get the client that owns the Branch
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function client(): BelongsTo
{
return $this->belongsTo(Client::class);
}
public function getCurrentSeriesAttribute()
{
if ($this->series()->count() > 0) {
return $this->series()->orderBy('id', 'desc')->first()->series;
}
return null;
}
/**
* Get all of the series for the Branch
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function series(): HasMany
{
return $this->hasMany(Series::class);
}
public function getCurrentSeriesAttribute()
{
if ($this->series()->count() > 0) {
return $this->series()->orderBy('id', 'desc')->first()->series;
}
return null;
}
/**
* Get all of the sales for the Branch
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function sales(): HasMany
{
@@ -54,11 +53,19 @@ class Branch extends Model
/**
* Get all of the expenses for the Branch
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function expenses(): HasMany
{
return $this->hasMany(Expense::class);
}
public function balances(): HasMany
{
return $this->hasMany(Balance::class);
}
public function accounts(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(Account::class, Balance::class);
}
}