Estou com duas classes uma Estudante e outra de Endereço, todo aluno tem um endereço_id que identifica todos os dados do seu endereço como faço para listar e para inserir estes dados?
estrutura do BD:
aluno (matricula, nome, nome_mae, nome_pai, data_nascimento, endereco_id, auditoria_usuario);
endereco (id, cep, rua, bairro, cidade, estado, complemento);
Classe estudante:
<?php
class Estudante{
public $matricula;
public $nome;
public $nome_mae;
public $nome_pai;
public $data_nascimento;
public $auditoria;
public $endereco;
}
<?php
class Endereco{
public $id;
public $cep;
public $rua;
public $bairro;
public $cidade;
public $estado;
public $complemento;
}
Estou fazendo assim o Lista, porem não esta funcionando.
function listaEstudantes($conexao){
$estudantes = array();
$query = "select a.matricula, a.nome, a.nome_mae, a.nome_pai, a.data_nascimento, a.auditoria_usuario,
e.cep, e.rua, e.bairro, e.cidade, e.estado, e.complemento
from aluno as a join endereco as e on e.id = a.endereco_id;";
$resultado = mysqli_query($conexao, $query);
while($estudante_array = mysqli_fetch_assoc($resultado)){
$estudante = new Estudante();
$endereco = new Endereco();
$estudante->matricula = $estudante_array['matricula'];
$estudante->nome = $estudante_array['nome'];
$estudante->nome_mae = $estudante_array['nome_mae'];
$estudante->nome_pai = $estudante_array['nome_pai'];
$estudante->data_nascimento = $estudante_array['data_nascimento'];
$estudante->auditoria = $estudante_array['auditoria_usuario'];
$estudante->endereco->cep = $estudante_array['cep'];
$estudante->endereco->rua = $estudante_array['rua'];
$estudante->endereco->bairro = $estudante_array['bairro'];
$estudante->endereco->cidade = $estudante_array['cidade'];
$estudante->endereco->estado = $estudante_array['estado'];
$estudante->endereco->complemento = $estudante_array['complemento'];
array_push($estudantes, $estudante);
}
return $estudantes;
E assim o insere:
function insereEstudante($conexao, Estudante $estudante){
$nome = mysqli_real_escape_string($conexao, $estudante->nome);
$nome_mae = mysqli_real_escape_string($conexao, $estudante->nome_mae);
$nome_pai = mysqli_real_escape_string($conexao, $estudante->nome_pai);
$data_nascimento = mysqli_real_escape_string($conexao, $estudante->data_nascimento);
$query = "insert into aluno (nome, nome_mae, nome_pai, data_nascimento, endereco_id, auditoria_usuario) values
('{$nome}', '{$nome_mae}', '{$nome_pai}', '{$data_nascimento}', '{$estudante->endereco}', '{$estudante->auditoria}' )";
$resultadoDaInsercao = mysqli_query($conexao, $query);
return $resultadoDaInsercao;
}