Files
CVAtron/app/Models/ResumeComponent.php
Matthias Guillitte 08425938d4
Some checks failed
linter / quality (push) Successful in 3m39s
tests / ci (push) Failing after 6m30s
Transformed into pivot models and Created ResumeSlotValue
2025-08-17 11:58:55 +02:00

46 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use App\Policies\ResumeComponentPolicy;
use Illuminate\Database\Eloquent\Attributes\UsePolicy;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
#[UsePolicy(ResumeComponentPolicy::class)]
class ResumeComponent extends Model
{
/** @use HasFactory<\Database\Factories\ResumeComponentFactory> */
use HasFactory;
protected $fillable = [
'vue_component_name',
];
public function resumes(): BelongsToMany
{
return $this->belongsToMany(Resume::class, 'resume_resume_component')
->using(ResumeSlot::class)
->withTimestamps();
}
public function slots(): HasMany
{
return $this->hasMany(ResumeSlot::class);
}
public function inputs(): HasMany
{
return $this->hasMany(ResumeComponentInput::class);
}
public function dataTypes(): BelongsToMany
{
return $this->belongsToMany(ResumeComponentDataType::class)
->using(ResumeComponentInput::class)
->withTimestamps();
}
}