HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Properties/Resources/StateTrackingTrait.php
<?php declare(strict_types=1);


namespace App\Properties\Resources;

use App\Properties\Models\Property as PropertyModel;
use Illuminate\Database\Eloquent\Model;

/**
 * Trait StateTrackingTrait
 *
 * @property-read integer $state
 * @mixin Model
 * @package App\Properties\Resources
 */
trait StateTrackingTrait
{
    protected function state() {
        if(!$this->exists) return PropertyModel::NEW;
        if($this->isDirty()) return PropertyModel::DIRTY;
        return PropertyModel::PRISTINE;
    }

    public function getStateAttribute() {
        return $this->state();
    }

    public function __get($name)
    {
        if($name !== 'state') return parent::__get($name);
        return $this->state();
    }
}