<?php

namespace App\Models;

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

class Alumno extends Model
{
    use HasFactory;

    protected $table = 'data_alumnos';
    protected $primaryKey = 'id_datosa'; // Usando el nombre de tu tabla
    public $incrementing = true; // Por defecto es true, pero lo explicitamos
    protected $keyType = 'int'; // Por defecto es 'int', pero lo explicitamos
    public $timestamps = true; // Asumiendo que tienes created_at y updated_at

    protected $fillable = [
        'nom_c',
        'ape_c',
        'dni',
        // Añade aquí cualquier otro campo que quieras permitir asignación masiva
        'created_at',
        'updated_at',
    ];

    protected $casts = [
        // Aquí puedes definir los tipos de datos para ciertos atributos si es necesario
        // Por ejemplo, si tuvieras un campo de fecha:
        // 'fecha_nacimiento' => 'date',
    ];

    /**
     * Relación uno a muchos con la tabla data_ugel.
     * Un alumno puede tener muchos registros en data_ugel (carreras cursadas).
     */
    public function carrerasCursadas(): HasMany
    {
        return $this->hasMany(Ugel::class, 'cod_datosa', 'id_datosa');
    }

    /**
     * The "booting" method of the model.
     *
     * @return void
     */
    protected static function boot()
    {
        parent::boot();

        // Aquí puedes añadir lógica de "boot" del modelo si es necesario
    }

    // Aquí puedes añadir métodos personalizados para la lógica del alumno
}