Added prune logic for transaction models
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled

This commit is contained in:
dhanabalan
2026-01-29 19:01:02 +05:30
parent c4153169eb
commit 1b1a02a565
21 changed files with 326 additions and 171 deletions

View File

@@ -2,13 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class CharacteristicValue extends Model class CharacteristicValue extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -45,4 +47,9 @@ class CharacteristicValue extends Model
{ {
return $this->belongsTo(Machine::class); return $this->belongsTo(Machine::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class ClassCharacteristic extends Model class ClassCharacteristic extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -179,4 +182,9 @@ class ClassCharacteristic extends Model
{ {
return $this->belongsTo(Machine::class); return $this->belongsTo(Machine::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class EbReading extends Model class EbReading extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -66,4 +69,9 @@ class EbReading extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class InvoiceDataValidation extends Model class InvoiceDataValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $dates = ['deleted_at']; protected $dates = ['deleted_at'];
@@ -32,4 +35,9 @@ class InvoiceDataValidation extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,45 +2,53 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class InvoiceInTransit extends Model class InvoiceInTransit extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
"plant_id", 'plant_id',
"receiving_plant", 'receiving_plant',
"receiving_plant_name", 'receiving_plant_name',
"invoice_number", 'invoice_number',
"invoice_date", 'invoice_date',
"item_code", 'item_code',
"description", 'description',
"quantity", 'quantity',
"transport_name", 'transport_name',
"lr_bl_aw_number", 'lr_bl_aw_number',
"lr_bl_aw_date", 'lr_bl_aw_date',
"pending_days", 'pending_days',
"obd_number", 'obd_number',
"obd_date", 'obd_date',
"shipment_weight", 'shipment_weight',
"unit_price", 'unit_price',
"net_value", 'net_value',
"total_item_amount", 'total_item_amount',
"tax_amount", 'tax_amount',
"transport_mode", 'transport_mode',
"vehicle_number", 'vehicle_number',
"e_waybill_number", 'e_waybill_number',
"created_at", 'created_at',
"created_by", 'created_by',
"updated_by", 'updated_by',
"updated_at" 'updated_at',
]; ];
public function plant(): BelongsTo public function plant(): BelongsTo
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class InvoiceOutValidation extends Model class InvoiceOutValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
// protected $dates = ['deleted_at']; // protected $dates = ['deleted_at'];
@@ -27,4 +30,9 @@ class InvoiceOutValidation extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class InvoiceValidation extends Model class InvoiceValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -44,5 +47,8 @@ class InvoiceValidation extends Model
return $this->belongsTo(StickerMaster::class, 'sticker_master_id'); return $this->belongsTo(StickerMaster::class, 'sticker_master_id');
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class LocatorInvoiceValidation extends Model class LocatorInvoiceValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -30,4 +33,9 @@ class LocatorInvoiceValidation extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class MfmReading extends Model class MfmReading extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -48,4 +51,9 @@ class MfmReading extends Model
{ {
return $this->belongsTo(MfmMeter::class, 'mfm_meter_id'); return $this->belongsTo(MfmMeter::class, 'mfm_meter_id');
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class PalletValidation extends Model class PalletValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -29,4 +32,9 @@ class PalletValidation extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class ProcessOrder extends Model class ProcessOrder extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -24,8 +27,8 @@ class ProcessOrder extends Model
'rework_status', 'rework_status',
'created_at', 'created_at',
'created_by', 'created_by',
'updated_by',
'updated_at', 'updated_at',
'updated_by',
]; ];
public function plant(): BelongsTo public function plant(): BelongsTo
@@ -42,4 +45,9 @@ class ProcessOrder extends Model
{ {
return $this->belongsTo(Item::class, 'item_id'); return $this->belongsTo(Item::class, 'item_id');
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,24 +2,29 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class ProductionLineStop extends Model class ProductionLineStop extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
"plant_id", 'plant_id',
"shift_id", 'line_id',
"line_id", 'shift_id',
"linestop_id", 'linestop_id',
"from_datetime", 'from_datetime',
"to_datetime", 'to_datetime',
"stop_hour", 'stop_hour',
"stop_min", 'stop_min',
"operator_id", 'operator_id',
'created_at',
'updated_at',
]; ];
public function plant(): BelongsTo public function plant(): BelongsTo
@@ -48,5 +53,8 @@ class ProductionLineStop extends Model
// return $this->belongsTo(LineStop::class, 'linestop_id'); // return $this->belongsTo(LineStop::class, 'linestop_id');
// } // }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,22 +2,26 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class ProductionPlan extends Model class ProductionPlan extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
"plant_id", 'plant_id',
"shift_id", 'shift_id',
"created_at", 'line_id',
"line_id", 'plan_quantity',
"plan_quantity", 'production_quantity',
"production_quantity", 'operator_id',
"operator_id", 'created_at',
'updated_at',
]; ];
public function plant(): BelongsTo public function plant(): BelongsTo
@@ -34,4 +38,9 @@ class ProductionPlan extends Model
{ {
return $this->belongsTo(Line::class); return $this->belongsTo(Line::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -4,30 +4,33 @@ namespace App\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Filament\Facades\Filament; use Filament\Facades\Filament;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class ProductionQuantity extends Model class ProductionQuantity extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
public static $importing = false; // Add this flag public static $importing = false; // Add this flag
protected $fillable = [ protected $fillable = [
"plant_id", 'plant_id',
"shift_id", 'shift_id',
"line_id", 'line_id',
"item_id", 'item_id',
"serial_number", 'serial_number',
"production_order", 'production_order',
"operator_id", 'operator_id',
// "success_status", // "success_status",
// "notok_at",
// "no_of_employee", // "no_of_employee",
// "list_of_employee", // "list_of_employee",
"created_at", 'created_at',
"updated_at" 'updated_at',
]; ];
public function plant(): BelongsTo public function plant(): BelongsTo
@@ -66,8 +69,7 @@ class ProductionQuantity extends Model
->latest() ->latest()
->first(); ->first();
if (!$productionPlan) if (! $productionPlan) {
{
$productionPlan = ProductionPlan::where('plant_id', $productionQuantity->plant_id) $productionPlan = ProductionPlan::where('plant_id', $productionQuantity->plant_id)
->where('shift_id', $productionQuantity->shift_id) ->where('shift_id', $productionQuantity->shift_id)
->where('line_id', $productionQuantity->line_id) ->where('line_id', $productionQuantity->line_id)
@@ -88,4 +90,9 @@ class ProductionQuantity extends Model
} }
}); });
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class QualityValidation extends Model class QualityValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -56,4 +59,9 @@ class QualityValidation extends Model
{ {
return $this->belongsTo(Line::class); return $this->belongsTo(Line::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class RequestCharacteristic extends Model class RequestCharacteristic extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -48,7 +51,6 @@ class RequestCharacteristic extends Model
return $this->belongsTo(Item::class); return $this->belongsTo(Item::class);
} }
public function machine(): BelongsTo public function machine(): BelongsTo
{ {
return $this->belongsTo(Machine::class); return $this->belongsTo(Machine::class);
@@ -91,9 +93,8 @@ class RequestCharacteristic extends Model
); );
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class ReworkLocatorInvoiceValidation extends Model class ReworkLocatorInvoiceValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -33,4 +36,8 @@ class ReworkLocatorInvoiceValidation extends Model
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,13 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class SerialValidation extends Model class SerialValidation extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -44,4 +46,9 @@ class SerialValidation extends Model
{ {
return $this->belongsTo(StickerMaster::class, 'sticker_master_id'); return $this->belongsTo(StickerMaster::class, 'sticker_master_id');
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,14 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class StickerPrinting extends Model class StickerPrinting extends Model
{ {
// use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -26,4 +27,9 @@ class StickerPrinting extends Model
{ {
return $this->belongsTo(Plant::class); return $this->belongsTo(Plant::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class TempLiveReading extends Model class TempLiveReading extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -28,4 +31,9 @@ class TempLiveReading extends Model
{ {
return $this->belongsTo(MfmMeter::class, 'mfm_meter_id'); return $this->belongsTo(MfmMeter::class, 'mfm_meter_id');
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }

View File

@@ -2,12 +2,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class TestingPanelReading extends Model class TestingPanelReading extends Model
{ {
use Prunable;
use SoftDeletes; use SoftDeletes;
protected $fillable = [ protected $fillable = [
@@ -73,6 +76,7 @@ class TestingPanelReading extends Model
{ {
return $this->belongsTo(Line::class); return $this->belongsTo(Line::class);
} }
public function machine(): BelongsTo public function machine(): BelongsTo
{ {
return $this->belongsTo(Machine::class); return $this->belongsTo(Machine::class);
@@ -87,4 +91,9 @@ class TestingPanelReading extends Model
{ {
return $this->belongsTo(MotorTestingMaster::class); return $this->belongsTo(MotorTestingMaster::class);
} }
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonthsNoOverflow(6));
}
} }