ldc-doux/app/Traits/CastsEnumsHasTranslations.php
Olivier Legat 592846b56c use HasTranslation on Encarts Model,
Trait for CastsEnums and HasTranslations compatibility

Slides create picture storage
2022-01-22 19:43:09 +01:00

42 lines
1 KiB
PHP

<?php
namespace App\Traits;
use Kwaadpepper\Enum\Traits\CastsEnums;
use Spatie\Translatable\HasTranslations;
trait CastsEnumsHasTranslations {
use CastsEnums, HasTranslations
{
CastsEnums::getAttributeValue as enumGetAttributeValue;
CastsEnums::setAttribute as enumSetAttribute;
HasTranslations::getAttributeValue as transGetAttributeValue;
HasTranslations::setAttribute as transSetAttribute;
}
/**
* Manually mix getAttributeValue from CastsEnums and HasTranslations
*/
public function getAttributeValue($key)
{
if ($this->hasEnumCast($key)) {
return $this->enumGetAttributeValue($key);
}
return $this->transGetAttributeValue($key);
}
/**
* Manually mix setAttribute from CastsEnums and HasTranslations
*/
public function setAttribute($key, $value)
{
if ($this->hasEnumCast($key)) {
return $this->enumSetAttribute($key, $value);
}
return $this->transSetAttribute($key,$value);
}
}