| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- <?php
 - 
 - namespace App\Concerns;
 - 
 - use Illuminate\Database\Eloquent\Builder;
 - use Illuminate\Database\Eloquent\Model;
 - 
 - trait HasDefault
 - {
 -     public function isEnabled(): bool
 -     {
 -         return $this->enabled === true;
 -     }
 - 
 -     public function isDisabled(): bool
 -     {
 -         return $this->enabled === false;
 -     }
 - 
 -     public static function enabledLabel(): string
 -     {
 -         return translate('Yes');
 -     }
 - 
 -     public static function disabledLabel(): string
 -     {
 -         return translate('No');
 -     }
 - 
 -     public static function bootHasDefault(): void
 -     {
 -         static::saving(function (Model $model) {
 -             if ($model->isDirty(['enabled', $model->evaluatedDefault])) {
 -                 if ($model->enabled === true) {
 -                     static::query()
 -                         ->whereKeyNot($model->getKey())
 -                         ->where('enabled', true)
 -                         ->when(filled($model->evaluatedDefault), static fn (Builder $query) => $query->where($model->evaluatedDefault, $model->{$model->evaluatedDefault}))
 -                         ->update(['enabled' => false]);
 -                 } else {
 -                     $enabledRecordDoesNotExist = static::query()
 -                         ->whereKeyNot($model->getKey())
 -                         ->where('enabled', true)
 -                         ->when(filled($model->evaluatedDefault), static fn (Builder $query) => $query->where($model->evaluatedDefault, $model->{$model->evaluatedDefault}))
 -                         ->doesntExist();
 - 
 -                     if ($enabledRecordDoesNotExist) {
 -                         $model->enabled = true;
 -                     }
 -                 }
 -             }
 -         });
 -     }
 - }
 
 
  |