Files
shopit-back/app/Domains/Prop/Models/Prop.php

57 lines
1.2 KiB
PHP

<?php
namespace App\Domains\Prop\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphTo;
#[Fillable([
'propable_type',
'propable_id',
'scope',
'codigo',
'nombre',
'is_required',
'data_type_id',
])]
class Prop extends Model
{
use HasFactory;
/**
* @return MorphTo<Model, $this>
*/
public function propable(): MorphTo
{
return $this->morphTo();
}
/**
* @return BelongsTo<PropDataType, $this>
*/
public function dataType(): BelongsTo
{
return $this->belongsTo(PropDataType::class, 'data_type_id');
}
/**
* @return HasMany<PropOption, $this>
*/
public function options(): HasMany
{
return $this->hasMany(PropOption::class);
}
/**
* @return HasMany<ModelPropValue, $this>
*/
public function modelValues(): HasMany
{
return $this->hasMany(ModelPropValue::class, 'prop_codigo', 'codigo');
}
}