HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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
    }


}