<?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');
    }
}