Files
CVAtron/app/Models/ResumeComponent.php
Matthias Guillitte cb242e59ba
Some checks failed
linter / quality (push) Successful in 3m37s
tests / ci (push) Failing after 13m21s
Minimal Viable Product + Refactor to pinia store + Fix PDF export
2025-09-16 16:30:37 +02:00

45 lines
1.1 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 = [
'name',
'vue_component_name',
];
public function resumes(): BelongsToMany
{
return $this->belongsToMany(Resume::class)
->using(ResumeComponentData::class);
}
public function data(): HasMany
{
return $this->hasMany(ResumeComponentData::class);
}
public function placements(): BelongsToMany
{
return $this->belongsToMany(ResumeComponentPlacement::class)
->using(ResumeComponentData::class);
}
public function inputs(): HasMany
{
return $this->hasMany(ResumeComponentInput::class, 'resume_component_id');
}
}