<?php

namespace App\Models;

use App\Models\Traits\BelongsToEscola;
use Illuminate\Database\Eloquent\Model;

class Aluno extends Model
{
    use BelongsToEscola;

    protected $fillable = [
        'id_escola',
        'id_turma',
        'nome',
        'cpf',
        'data_nascimento',
        'data_inscricao',
        'user_id', // usuário do aluno (portal), opcional
        // 'responsavel_user_id' // ❌ removido (agora é pivot)
    ];

    public function turma()
    {
        return $this->belongsTo(
            Turma::class,
            'id_turma'
        );
    }

    public function escola()
    {
        return $this->belongsTo(
            Escola::class,
            'id_escola'
        );
    }

    /**
     * Usuário do aluno (se o aluno tiver login no portal)
     */
    public function user()
    {
        return $this->belongsTo(
            User::class,
            'user_id'
        );
    }

    /**
     * Responsáveis do aluno (N:N via pivot aluno_responsaveis)
     */
    public function responsaveis()
    {
        return $this->belongsToMany(
            User::class,
            'aluno_responsaveis',
            'aluno_id',
            'user_id'
        )->withTimestamps();
    }
}
