Realmente, na 3.2 não há mais como fazer isso, infelizmente. Vou ter de adaptar minha necessidade de uma outra forma.
Obrigado pela ajuda dos colegas. Valeu! Atenciosamente, Marcelo Rodrigo http://marcelorodrigo.com Em 23 de novembro de 2011 11:10, felipe moraes <[email protected]>escreveu: > Exato Marcelo, o ORM do Kohana só provê isso através do as_array() como já > foi citado algumas vezes aqui > > $resultado = $ORM->....find_all()->as_array(); > > http://br.php.net/manual/pt_BR/function.serialize.php > > Cache::instance()->set(...serialize($resultado)); > > Depois recuperar em outro ponto do sistema: > Cache::instance()->get(...); > foreach($objeto as $o) ... > > Só vejo um problema .. você está usando Cache da forma errada :D > > Isso deveria estar sendo feito com Sessão e não com Cache :D Pois o > objetivo do Cache é diferente do que deseja. > > Em 23 de novembro de 2011 10:29, Marcelo Rodrigo > <[email protected]>escreveu: > > Obrigado pela ajuda Felipe. >> >> Mas o cache que eu comentava era um pouco diferente. >> O que quero fazer é guardar todo o objeto usando o Kohana_Cache e não o >> cache de queries do ORM. >> >> >> Algo neste sentido: >> $objeto = ORM::Factory('tabela')->where(...)->find_all(); >> Cache::instance()->set(...); >> >> Depois recuperar em outro ponto do sistema: >> Cache::instance()->get(...); >> foreach($objeto as $o) ... >> >> >> >> >> Atenciosamente, >> >> Marcelo Rodrigo >> http://marcelorodrigo.com >> >> >> Em 23 de novembro de 2011 08:46, felipe moraes <[email protected]>escreveu: >> >> >>> http://www.google.com.br/search?gcx=c&sourceid=chrome&ie=UTF-8&q=kohana+database+cache >>> >>> http://kohanaframework.org/3.2/guide/api/ORM >>> http://kohanaframework.org/3.2/guide/api/ORM#cached >>> >>> O link que comentei, onde o samsoir fala pq não é viável ter cache de >>> resultado em orm eu não achei novamente [to em outro pc] .. depois eu posto >>> .. vou trampar. >>> >>> a justificativa é +/- essa .. no ORM os dados são muito voláteis, basta >>> um valor mudar para o cache ficar inválido .. ORM, como sabe é baseado em >>> várias sub consultas a cada execute(). Aí, fica complicado gerenciar esse >>> cache. >>> >>> ORM tem cache, das columas das tabelas, do SQL .. mas pelo que entendi >>> não tem cache de resultado. Cache de resultado tem de ser feito pelo >>> ->as_array() por que esse resultado é fácil serializar. Aí, você precisa >>> gerenciar isso de acordo com os dados de entrada, perfil do usuário, etc. >>> >>> Se todo o ambiente [usuário, sessão, etc] for igual ao anterior, não >>> ocorreu mudanças no banco (insert, update, delete) e o lifetime não venceu, >>> mostra o resultado anterior. >>> >>> >>> Em 23 de novembro de 2011 08:27, Marcelo Rodrigo >>> <[email protected]>escreveu: >>> >>> Felipe, >>>> Compartilha o link desta thread que você encontrou tal informação >>>> >>>> >>>> Atenciosamente, >>>> >>>> Marcelo Rodrigo >>>> http://marcelorodrigo.com >>>> >>>> >>>> Em 23 de novembro de 2011 08:10, felipe moraes >>>> <[email protected]>escreveu: >>>> >>>> Pelo que vi no fórum do kohana .. não tem mais cache pois os dados não >>>>> são totalmente carregados .. >>>>> >>>>> ou vc serializa o ->as_array() .. ou extende o módulo database. >>>>> >>>>> Em 23 de novembro de 2011 07:58, felipe moraes >>>>> <[email protected]>escreveu: >>>>> >>>>> foreach .. cria array .. e serializa com comando do php? >>>>>> >>>>>> por que é mesmo que o cache de banco não tá funcionando? você >>>>>> configurou o cache dele? >>>>>> >>>>>> Em 22 de novembro de 2011 13:41, Marcelo Rodrigo <[email protected] >>>>>> > escreveu: >>>>>> >>>>>>> Tentei serializar, sem sucesso. >>>>>>> A informação que ele serializa, não contempla os valores que foram >>>>>>> usados no Query Builder. >>>>>>> >>>>>>> Se eu der um find_all o objeto se transforma num result e perco a >>>>>>> chamada ao ->serialize() por sua vez. >>>>>>> To tentando achar outra alternativa aqui. >>>>>>> >>>>>>> >>>>>>> Atenciosamente, >>>>>>> >>>>>>> Marcelo Rodrigo >>>>>>> http://marcelorodrigo.com .. Ccria >>>>>>> >>>>>>> >>>>>>> Em 21 de novembro de 2011 11:28, Beto >>>>>>> <[email protected]>escreveu: >>>>>>> >>>>>>> Talvez como o GET disse serializando seja possível. >>>>>>>> >>>>>>>> Caso não vc pode fazer uma 'art-manha' , usa o as_array() e manda o >>>>>>>> array pro cache, quando vc precisar do objeto vc pega o array do cache >>>>>>>> e >>>>>>>> carrega nas colunas do objeto com o values() , tbm não sei se >>>>>>>> resolveria o >>>>>>>> problema, mas é uma outra forma de ser feito. >>>>>>>> >>>>>>>> []s >>>>>>>> >>>>>>>> >>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >>>>>>>> - - - - - - - >>>>>>>> >>>>>>>> Luiz Alberto S. Ribeiro [ Beto ] >>>>>>>> @madeinnordeste >>>>>>>> <http://www.twitter.com/madeinnordeste><http://beto.euqueroserummacaco.com> >>>>>>>> http://beto.euqueroserummacaco.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2011/11/21 Get <[email protected]> >>>>>>>> >>>>>>>>> Ja tentou serializar? >>>>>>>>> >>>>>>>>> @rafaelget >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2011/11/21 Marcelo Rodrigo <[email protected]> >>>>>>>>> >>>>>>>>>> Pessoal, >>>>>>>>>> >>>>>>>>>> Usando KO 3.2, alguém já tentou gravar em cache um objeto ORM >>>>>>>>>> carregado com dados de um ->find_all()? >>>>>>>>>> Na declaração do model já tentei setar o $_reload_on_wakeup = >>>>>>>>>> false mas mesmo assim continuo com problemas e sempre dou de cara >>>>>>>>>> com ... >>>>>>>>>> >>>>>>>>>> *ErrorException [ Warning ]: mysql_fetch_object(): supplied >>>>>>>>>> argument is not a valid MySQL result resource.* >>>>>>>>>> >>>>>>>>>> .. assim que eu obtenho os dados do cache e tenho fazer um >>>>>>>>>> foreach() >>>>>>>>>> >>>>>>>>>> Sei que se eu utilizar um ->as_array() após o find_all eu >>>>>>>>>> conseguirei armazenar no cache, porque em vez de um Database_Result >>>>>>>>>> eu >>>>>>>>>> terei um array. >>>>>>>>>> Mas neste caso específico preciso armazenar o model em seu state >>>>>>>>>> atual em cache. >>>>>>>>>> >>>>>>>>>> Alguma idéia? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Atenciosamente, >>>>>>>>>> >>>>>>>>>> Marcelo Rodrigo >>>>>>>>>> http://marcelorodrigo.com >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> 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. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 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. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> http://felipebastosweb.com.br >>>>>> http://twitter.com/felipebastosweb >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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. >>>>> >>>> >>>> -- >>>> 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. >>>> >>> >>> >>> >>> -- >>> 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. >>> >> >> -- >> 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. >> > > > > -- > 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. > -- 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.
