feat: add relationships for payroll adjustments, employee advances, and cutting submissions in models

This commit is contained in:
Yoga Pangestu 2026-08-04 10:53:15 +07:00
parent f916886218
commit 38c486d11d
4 changed files with 42 additions and 0 deletions

View File

@ -6,6 +6,7 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
@ -32,4 +33,9 @@ public function employee(): BelongsTo
{ {
return $this->belongsTo(Employee::class); return $this->belongsTo(Employee::class);
} }
public function payrollAdjustments(): HasMany
{
return $this->hasMany(PayrollAdjustment::class);
}
} }

View File

@ -9,6 +9,7 @@
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\MorphTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
@ -63,6 +64,11 @@ public function createdBy(): BelongsTo
return $this->belongsTo(User::class, 'created_by_id'); return $this->belongsTo(User::class, 'created_by_id');
} }
public function employeeAdvances(): HasMany
{
return $this->hasMany(EmployeeAdvance::class);
}
public function expense(): HasOne public function expense(): HasOne
{ {
return $this->hasOne(Expense::class); return $this->hasOne(Expense::class);
@ -73,6 +79,11 @@ public function order(): HasOne
return $this->hasOne(Order::class); return $this->hasOne(Order::class);
} }
public function payrolls(): HasMany
{
return $this->hasMany(Payroll::class);
}
public function reference(): MorphTo public function reference(): MorphTo
{ {
return $this->morphTo(); return $this->morphTo();

View File

@ -31,6 +31,11 @@ public function createdBy(): BelongsTo
return $this->belongsTo(User::class, 'created_by_id'); return $this->belongsTo(User::class, 'created_by_id');
} }
public function submittedBy(): BelongsTo
{
return $this->belongsTo(User::class, 'submitted_by_id');
}
public function cuttingMaterialCombinations(): HasMany public function cuttingMaterialCombinations(): HasMany
{ {
return $this->hasMany(CuttingMaterialCombination::class); return $this->hasMany(CuttingMaterialCombination::class);

View File

@ -74,6 +74,21 @@ public function createdCuttings(): HasMany
return $this->hasMany(Cutting::class, 'created_by_id'); return $this->hasMany(Cutting::class, 'created_by_id');
} }
public function cuttingMaterialCombinations(): HasMany
{
return $this->hasMany(CuttingMaterialCombination::class);
}
public function cuttingMaterials(): HasMany
{
return $this->hasMany(CuttingMaterial::class);
}
public function cuttingResults(): HasMany
{
return $this->hasMany(CuttingResult::class);
}
public function createdExpenses(): HasMany public function createdExpenses(): HasMany
{ {
return $this->hasMany(Expense::class, 'created_by_id'); return $this->hasMany(Expense::class, 'created_by_id');
@ -159,6 +174,11 @@ public function purchaseItems(): HasMany
return $this->hasMany(PurchaseItem::class); return $this->hasMany(PurchaseItem::class);
} }
public function pushSubscriptions(): HasMany
{
return $this->hasMany(PushSubscription::class);
}
public function rejections(): HasMany public function rejections(): HasMany
{ {
return $this->hasMany(Rejection::class, 'rejected_by_id'); return $this->hasMany(Rejection::class, 'rejected_by_id');