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();
}
}