All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 1m4s
60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use Illuminate\Database\Eloquent\Prunable;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
|
class GuardPatrolEntry extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
use Prunable;
|
|
|
|
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 = now()->subMonth()->startOfMonth();
|
|
// $end = now()->subMonth()->endOfMonth();
|
|
// return static::whereBetween('created_at', [$start, $end]);
|
|
|
|
// Start of two months ago (first day of that month)
|
|
$startOfTwoMonthsAgo = now()->subMonthsNoOverflow(2)->startOfMonth();
|
|
// End of previous month (last day of last month)
|
|
$endOfPrevMonth = now()->subMonthNoOverflow()->endOfMonth();
|
|
|
|
return static::whereBetween('created_at', [$startOfTwoMonthsAgo, $endOfPrevMonth]);
|
|
}
|
|
|
|
}
|