Tente não usar
$_has_many e $_belongs_to
Crie uma método para pegar os dados
ORM::factory('pessoa', $id)_>getEstadoNome();
Em 22 de agosto de 2012 10:14, Paulo Duarte
<[email protected]>escreveu:
> 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.
>
--
Atenciosamente,
Bernardo Sepulveda de Castro
------- ------- ------- -------- -------- --------
*Sudeste Hosting...*
Ideias e Soluções Web
www.sudestehosting.com.br
(21)3305-3105
--
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.