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/Neopoints/momsecurity.be/app/Komma/Dynamic/ComponentType/ComponentType.php
<?php


namespace App\Komma\Dynamic\ComponentType;


use App\Komma\Dynamic\Componentables\ComponentableType;
use App\Komma\Dynamic\ComponentType\SaveState\HasSaveStateTrait;
use App\Komma\Dynamic\ComponentType\SaveState\SaveStateInterface;
use Illuminate\Database\Eloquent\Model;


/**
 * App\Komma\Dynamic\ComponentType\ComponentType
 *
 * @property int $id
 * @property string $name
 * @property string $icon
 * @property string $linkable_to_model
 * @property string $model_collection_provider
 * @property string $save_state Does not hold their values. Only configured subclasses of Attribute instances
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property SaveStateInterface $save_state_instance
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereIcon($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereSaveState($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType whereUpdatedAt($value)
 * @mixin \Eloquent
 * @property-read \Illuminate\Database\Eloquent\Collection|\App\Komma\Dynamic\Componentables\ComponentableType[] $componentableTypes
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Dynamic\ComponentType\ComponentType query()
 */
class ComponentType extends Model implements ComponentTypeInterface
{
    use HasSaveStateTrait;

    public const SAVESTATE_VERSION = '1.0';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['name', 'icon', 'linkable_to_model', 'model_collection_provider'];


    public function componentableTypes()
    {
        return $this->hasMany(ComponentableType::class);
    }


    public function __clone()
    {
        foreach($this as $key => $val) {
            if (is_object($val) || (is_array($val))) {
                $this->{$key} = unserialize(serialize($val));
            }
        }
    }
}