File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Properties/Models/PropertyKeyTranslation.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\PropertyKeyTranslation
*
* @property int $id
* @property int $language_id
* @property int $property_key_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\PropertyKey $translatable
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation query()
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation whereLanguageId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation wherePropertyKeyId($value)
* @method static \Illuminate\Database\Eloquent\Builder|PropertyKeyTranslation whereUpdatedAt($value)
* @mixin \Eloquent
*/
class PropertyKeyTranslation extends AbstractTranslationModel implements PropertyKeyValueTranslationInterface
{
use StateTrackingTrait;
protected $fillable = ['language_id', 'property_key_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 PropertyKey for info about what this is.
*/
public function translatable(): BelongsTo
{
return $this->belongsTo(PropertyKey::class, 'property_key_id');
}
/**
* Accessor for name attribute
*
* @param $value
* @return string
*/
public function getNameAttribute($value)
{
return ucfirst($value);
}
/**
* Mutator for name attribute
*/
public function setNameAttribute($name)
{
$this->attributes['name'] = mb_strtolower($name);
}
public function saveOrFail(array $options = [])
{
return parent::saveOrFail($options); // TODO: Change the autogenerated stub
}
}