Files
pds/app/Models/GuardPatrolEntry.php
dhanabalan 7deb78f574
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Added auto deletion logic - record created 6 months ago
2026-01-29 10:29:05 +05:30

54 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class GuardPatrolEntry extends Model
{
use Prunable;
use SoftDeletes;
protected $fillable = [
'plant_id',
'guard_name_id',
'check_point_name_id',
'reader_code',
'patrol_time',
'created_by',
'updated_by',
];
public function plant(): BelongsTo
{
return $this->belongsTo(Plant::class);
}
public function guardNames(): BelongsTo
{
// return $this->belongsTo(CheckPointName::class);
return $this->belongsTo(GuardName::class, 'guard_name_id');
}
public function checkPointNames(): BelongsTo
{
// return $this->belongsTo(CheckPointName::class);
return $this->belongsTo(CheckPointName::class, 'check_point_name_id');
}
public function prunable(): Builder
{
// // Start of two months ago (first day of that month)
// $startOfTwoMonthsAgo = now()->subMonthsNoOverflow(6)->startOfMonth();
// // End of previous month (last day of last month)
// $endOfPrevMonth = now()->subMonthNoOverflow()->endOfMonth();
// return static::whereBetween('created_at', [$startOfTwoMonthsAgo, $endOfPrevMonth]);
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
}