Pessoal,
alguém já passou pelo seguinte problema?
Models
class Model_Estado extends ORM {
protected $_table_name = 'estado';
protected $_has_many = array(
'pessoa' => array()
);
}
class Model_Pessoa extends ORM {
protected $_table_name = 'pessoa';
protected $_belongs_to = array(
'estado' => array()
);
}
Controllers
class Controller_Inicial extends Kohana_Controller_Template {
public function action_index() {
$id = $this->request->param('id', 0);
$objeto = ORM::factory('pessoa', $id);
$this->template->content = View::factory('inicial/index')
->bind('objeto', $objeto);
}
}
class Controller_Pessoa extends Kohana_Controller_Template {
public function action_index() {
$id = $this->request->param('id', 0);
$objeto = ORM::factory('pessoa', $id);
$this->template->content = View::factory('pessoa/edita')
->bind('objeto', $objeto);
}
}
Views
inicial/index
<?php echo $objeto->estado->nome ?>
pessoa/edita
<?php echo $objeto->estado->nome ?>
Eu primeiramente havia implementado a view : inicial/index e tudo estava
funcionando.
Depois implementei a view : pessoa/edita e a principio tudo funcionando.
De repente cliquei na view : inicial/index e me apareceu o
erro: ErrorException [ Notice ]: Trying to get property of non-object
Blz, tah dizendo que não tem $objeto->estado->nome.
O problema é que tem... Se eu for na outra view, mostra normal.
Se eu mandar mostrar $objeto->estado_id, mostra o ID.
O sistema simplesmente não carrega o Model do Estado.
Já fui no model Pessoa e coloquei o $_belongs_to:
'estado' => array('model'=>'estado','foreign_key'=>'estado_id'),
Não fez diferença...
Na view : pessoa/edita, tudo continua funcionando normalmente.
Aí fiz o seguinte teste, criei no model da Pessoa o $_belongs_to:
'uf' => array('model'=>'estado','foreign_key'=>'estado_id'),
E funcionou.
Agora numa view eu chamo $objeto->estado->nome e na outra
$objeto->uf->nome...
Deve ser algo idiota ou até um bug do kohana (q acho mais dificil), mais
não consigo ver a solução.
Alguém tem alguma idéia ou já passou por algo semelhante?
Valeu!
--
Atenciosamente,
*Paulo Duarte*
Inteligência Web - Comunicação e Sistemas
Fone: (48) 3028.5141 / 8426.3629
E-mail: [email protected]
Skype: paulo.iw
-------------------------------------------------------------------------------------------
Aviso de confidencialidade:
Esta mensagem da Empresa IW - Inteligência Web Comunicação e Sistemas,
empresa privada, é enviada exclusivamente a seu destinatário e pode conter
informações confidenciais, protegidas por sigilo profissional. Sua
utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se
você a recebeu indevidamente, queira, por gentileza, reenviá-la ao
emitente, esclarecendo o equívoco.
--
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.