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.

Responder a