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));
}
}
}
}