Boa noite,
Estava aqui, com certa curiosidade, e resolvi tentar fazer o seguinte:
Como todo usuário é uma pessoa [possui dados pessoais], eu criei um model
Pessoa e queria herdá-lo no model Usuário, usando o seguinte esquema:
O banco,
tabela pessoas
id, nome, etc
tabela *usuarios*
id, grupo_id, *pessoa_id*, apelido, senha, email, etc
Por tentativa e erro, descobri que precisava refazer os relacionamentos,
mesmo extendendo a classe ..
E os Models ficaram assim ...
//Classe Pai
class Model_Pessoa extends ORM {
public $_has_one = array(
'usuario' => array(
'model' => 'usuario',
'foreign_key' => 'pessoa_id'
)
);
public $_table_name = 'pessoas';
}
//Aqui a Herança ... Classe Filha
class Model_Usuario extends Model_Pessoa {
public $_belongs_to = array(
'pessoa' => array(
'model' => 'pessoa',
'foreign_key' => 'pessoa_id'
),
);
public $_table_name = 'usuarios';
}
Para minha surpresa, deu certo, até então :D .. Estou buscando dados
previamente salvos no banco ..
Obtive os dados de pessoa, através de usuário, usando o seguinte esquema:
$usuarios = ORM::factory('usuario')->find_all();
foreach($usuarios as $usuario):
var_dump($usuario->pessoa->nome);
endforeach;
Alguém já modelou seus models utilizando OO "ao pé da letra", da forma
mencionada ? Encontrou algum problema ?
Vou tentar salvar e editar o usuário para ver se rola algum pepino, mas
relata aí o que ocorreu em suas velhas experiências :D
--
http://felipebastosweb.com.br
http://twitter.com/felipebastosweb
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected].
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/kohana-php?hl=pt-BR.