Files
CVAtron/app/Models/ResumeComponent.php
Matthias Guillitte 55a52086c1
Some checks failed
linter / quality (push) Failing after 3m25s
tests / ci (push) Failing after 12m2s
Models refactor + Basic functionnalities
2025-08-26 12:12:02 +02:00

40 lines
1.0 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);
}
}