63 lines
1.2 KiB
PHP
63 lines
1.2 KiB
PHP
<?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();
|
|
}
|
|
}
|