<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Estudiante extends Model
{
    use HasFactory;

    protected $fillable = [
        'user_id',
        'curso_id',
        'codigo',
        'nombres',
        'apellidos',
        'edad',
        'genero',
        'lengua_materna',
        'frecuencia_lectura',
        'tiempo_lectura_semanal',
        'estado',
    ];

    protected $casts = [
        'edad' => 'integer',
        'frecuencia_lectura' => 'integer',
        'tiempo_lectura_semanal' => 'decimal:2',
        'estado' => 'boolean',
    ];

    public function getNombreCompletoAttribute()
    {
        return trim($this->nombres . ' ' . $this->apellidos);
    }

    public function user()
    {
        return $this->belongsTo(User::class, 'user_id');
    }

    public function curso()
    {
        return $this->belongsTo(Curso::class, 'curso_id');
    }

    public function evaluacionesEstudiante()
    {
        return $this->hasMany(EvaluacionEstudiante::class);
    }
}
