e5e6f72f92
- CI/CD Gitea Actions: ci.yml (Pint + PHPUnit), deploy.yml (déploiement SSH) - Suppression de l'ancien workflow GitHub cassé - En-têtes de sécurité: ajout CSP et Permissions-Policy - RGPD: droit à l'effacement (anonymisation du compte) + tests - Correctifs: ForceHttps hors env testing, timestamps du modèle Utilisateur, suppression des migrations en doublon (migrate échouait sur base neuve) - Qualité: formatage Laravel Pint sur l'ensemble du code - Documentation dossier technique (docs/) + .docx + .pptx Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
1.0 KiB
PHP
48 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Commentaire extends Model
|
|
{
|
|
protected $primaryKey = 'ID_Commentaire';
|
|
|
|
protected $table = 'commentaires';
|
|
|
|
public $incrementing = true;
|
|
|
|
protected $fillable = [
|
|
'Texte',
|
|
'Statut',
|
|
'ID_Parent_Commentaire',
|
|
'ID_Utilisateur',
|
|
'ID_Ressource',
|
|
];
|
|
|
|
protected $casts = [
|
|
'DatePublication' => 'datetime',
|
|
];
|
|
|
|
public function auteur()
|
|
{
|
|
return $this->belongsTo(Utilisateur::class, 'ID_Utilisateur', 'ID_Utilisateur');
|
|
}
|
|
|
|
public function ressource()
|
|
{
|
|
return $this->belongsTo(Ressource::class, 'ID_Ressource', 'ID_Ressource');
|
|
}
|
|
|
|
// Relation récursive pour les réponses aux commentaires
|
|
public function reponses()
|
|
{
|
|
return $this->hasMany(Commentaire::class, 'ID_Parent_Commentaire', 'ID_Commentaire');
|
|
}
|
|
|
|
public function parent()
|
|
{
|
|
return $this->belongsTo(Commentaire::class, 'ID_Parent_Commentaire', 'ID_Commentaire');
|
|
}
|
|
}
|