Tarde...
Vimos nesta aula que, para não repetir o nome do aluno, fizemos algo assim:
foreach ($result as $row) {
if (!array_key_exists($row['id'],$listaAlunos)) {
$listaAlunos[$row['id']] = new Student (
$row['id'],
$row['name'],
new \DateTimeImmutable($row['birth_date'])
);
}
$phone = new Phone($row['phone_id'],$row['area_code'],$row['number']);
$listaAlunos[$row['id']]->adicionarTelefone($phone);
}
Pefeito, entendido.
Fique com dúvida de como mostrar os alunos em uma tabela.
Pelo que entendi, deveriam ser com 2 foreach, mais ou menos assim:
$alunos = $repositorio->alunosComTelefone();
foreach ($alunos as $aluno) {
foreach ($aluno->telefones() as $telefone) {
echo $aluno->getNome() . ' - ' . $telefone->getNumero(); // faz de conta que isso é uma linha da tabela, pra não ter que fazer o html... :)
}
}
A saída deve ser algo assim:
flavio - 11 9999999
flavio - 11 8888888
flavio - 11 7777777
juca - 11 3333333
fulano - 11 6666666
fulano - 11 2222222
...
Tá certo assim?
Tenho outra dúvida, mas vamos por partes...