Povoar entidades de forma recursiva
Olá pessoal!
A minha dúvida fica por conta de como aninhar os registros em entidades que possuem relacionamentos.
Quanto se trata de entidades individuais (Aluno, Professor, Secretaria) fica fácil - basicamente varrer os atributos dela e povoar.
Aluno
---alu_id
---alu_nome
disparada a consulta, retorna:
[0] => Array
(
[alu_id] => 1
[alu_nome] => "José de Souza"
)
[1] => Array(
[alu_id] => 1
[alu_nome] => "Marcos da Silva"
)
$class_name = $this->getClassName($obj);
$class_vars = get_class_vars(get_class($obj));
foreach($check as $c){
$Obj = new $class_name;
foreach ($class_vars as $field => $value){
if(strpos($field, "rel_") === false)
{
$Obj->$field = $c[$field];
}
}
$objs[] = $Obj;
}
return $objs
Agora o problema fica por conta de entidades que tem relações (Secretaria -> Orgão -> Conexões/Logradouros)
por conta da lógica de aninhar os registros:
Secretaria
---Órgãos
------Conexões
------Logradouros
Vejamos o registro:
[0] => Array
(
[sec_id] => 1
[sec_idmae] => 0
[sec_secretaria] => Secretaria de Assistência Social
[sec_fk_usu_id] => 1
[sec_datacriacao] => 2012-08-20 09:11:12
[org_id] => 6
[org_fk_sec_id] => 1
[org_orgao] => Centro da Juventude
[org_fk_usu_id] => 1
[org_datacriacao] => 2012-08-22 09:49:49
[con_id] =>
[con_fk_org_id] =>1
[con_fk_contip_id] => 1 (3G)
[con_fk_usu_id] => 1
[con_datacriacao] => 2012-08-21 10:04:50
[con_fk_consta_id] => 1 (Ativa)
[con_statusdata] => 2012-08-21 10:04:50
[orglog_id] => 6
[orglog_fk_org_id] => 6
[orglog_cep] => 87010-340
[orglog_logradouro] => R 44444444
[orglog_numero] => 832
[orglog_bairro] => ZONA 02
[orglog_fk_usu_id] => 1
[orglog_datacriacao] => 2012-08-22 09:49:50
)
Peço ajuda de vocês para entender quais atributos adicionais precisariam ter as entidades Secretaria (Mãe), Órgão (Filha e Mãe) e Conexões/Logradouros (Filhas) e como interpretá-las.
E aí pessoal, o que acham?
Obrigado pela atenção.
Discussão (13)
Carregando comentários...