Olá Felipe, não tenho como alterar o nome das tabelas, pois já estão em outro padrão. Estou informando o nome das mesmas nos models. Eu achei que poderia utilizar o array vazio, considerando que as relações que o kohana faz entre as tabelas estão padronizadas. Vou informar todos os models e chaves para ver se resolve.
Em 22 de agosto de 2012 11:32, felipe bastos <[email protected]> escreveu: > Se possivel, siga o padrao e coloque nomes de tabelas no plural, e chaves > estrangeiras no singular > Em 22/08/2012 11:21, "Paulo Duarte" <[email protected]> > escreveu: > > Hm, ok. >> Vou implementar isso... >> >> Você sabe se existe algum bug neste sentido no Kohana? >> >> Valeu! >> >> Em 22 de agosto de 2012 10:36, Bernardo - Sudeste Hosting < >> [email protected]> escreveu: >> >>> 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. >>> >> >> >> >> -- >> 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. >> > -- > 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, *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.
