File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Properties/Models/PropertyValueTranslation.php
<?php
namespace App\Properties\Models;
use App\Properties\Resources\StateTrackingTrait;
use Komma\KMS\Core\AbstractTranslationModel;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Komma\KMS\Globalization\Languages\Models\Language;
/**
* App\Properties\Models\PropertyValueTranslation
*
* @property int $id
* @property int $language_id
* @property int $property_value_id
* @property string $name
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read mixed $state
* @property-read Language $language
* @property-read \App\Properties\Models\PropertyValue $translatable
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation query()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation whereLanguageId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation wherePropertyValueId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyValueTranslation whereUpdatedAt($value)
* @mixin \Eloquent
*/
class PropertyValueTranslation extends AbstractTranslationModel implements PropertyKeyValueTranslationInterface
{
use StateTrackingTrait;
protected $fillable = ['language_id', 'property_value_id', 'name'];
/**
* The relations to eager load on every query.
*
* @var array
*/
protected $with = ['translatable'];
/**
* @return belongsTo relation That resolves to a TranslatableModelInterface
* @see AbstractTranslatableModel
* @see PropertyValue for more information about what this is
*/
public function translatable(): BelongsTo
{
return $this->belongsTo(PropertyValue::class, 'property_value_id');
}
/**
* Accessor for name attribute
*/
public function getNameAttribute()
{
return ucfirst(array_key_exists('name', $this->attributes) ? $this->attributes['name'] : '');
}
/**
* Mutator for name attribute
*/
public function setNameAttribute($name)
{
$this->attributes['name'] = strtolower($name);
}
}