• File: Water.php
  • Full Path: /var/www/sandbox/app/Water.php
  • Date Modified: 04/15/2024 8:53 PM
  • File size: 1.75 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use DateTimeInterface;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;

class Water extends Model
{
    use HasFactory;
    use LogsActivity;

    protected $fillable = [
        'reqterminalID', 'reqterminalMsgID', 'reqMsgID', 'respDateTime', 'clientNumber', 'entityNumber',
        'documentTypeID', 'documentYear', 'documentNumber', 'clientName', 'receiptFormat', 'smsreceipt',
        'receipt', 'status', 'purchaseValue', 'TransactionCost', 'user_id', 'category_id', 'old_balance',
        'new_balance'
    ];

    protected static $logAttributes = [
        'reqterminalID', 'reqterminalMsgID', 'reqMsgID', 'respDateTime', 'clientNumber', 'entityNumber',
        'documentTypeID', 'documentYear', 'documentNumber', 'clientName', 'receiptFormat', 'smsreceipt',
        'receipt', 'status', 'purchaseValue', 'TransactionCost', 'user_id', 'category_id'
    ];

    public function getDescriptionForEvent(string $eventName): string
    {
        return "This model has been {$eventName}";
    }

    protected static $logName = 'water';

    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format('d-m-Y H:i:s');
    }

    function transactionHistory(){
        return $this->belongsTo(TransactionHistory::class);
    }

    function transactionHistories(){
        return $this->hasMany(TransactionHistory::class);
    }

    function voucherHistory() {
        return $this->belongsTo(VoucherHistory::class);
    }

    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()->logOnly(['*']);
    }
}