[SP-pm] Catalyst DBIx -> lista alguns campos

Renato Santos renato.cron at gmail.com
Tue Aug 21 04:33:27 PDT 2012


Pera, só uma duvida.

qual o package que está escrito no seu  Myapp/lib/Schema/Users.pm? pois não
faz muito sentido o schema do banco chamar users (seria como se todas as
tabelas fossem de sobre usuarios)



2012/8/21 Jose Nilton <jniltinho at gmail.com>

> Corrigindo:
>
> No arquivo Myapp/lib/Schema/Users.pm não funciona,
>
> Só no Model:
>
> Myapp/lib/Model/Users.pm
>
>
>
> sub retorna_hora_do_banco {
>     my ($self) = @_;
>
>       my $res = eval {
>             $self->storage->dbh->selectrow_hashref( "select current_time()
> as foo");
>
>         };
>         do { print $@; return undef } if $@;
>         return $res;
>
> }
>
> Funcionou corretamente
>
> Em 21 de agosto de 2012 08:24, Renato Santos <renato.cron at gmail.com>escreveu:
>
>
>>
>>
>> 2012/8/21 Jose Nilton <jniltinho at gmail.com>
>>
>>> Assim funcionou,
>>>
>>> Na
>>> Myapp/lib/Schema/Users.pm
>>>
>>> Coloquei:
>>>
>>>
>>> sub retorna_hora_do_banco {
>>>     my ($self) = @_;
>>>
>>>         return "Ola mundo";
>>>
>>> }
>>>
>>>
>>> No controller:
>>>
>>> my $olaMundo = $c->model('Schema::Users')->retorna_hora_do_banco();
>>>
>>>
>>>  $c->log->debug("Debug App: ".$olaMundo);
>>>
>>>
>>> Como coloco alguma consulta SQL na função retorna_hora_do_banco ?
>>>
>>>  $self->storage->dbh->selectrow_hashref( "select current_time() as foo",
>>                 undef, @args );
>>
>>> Pois queria colocar algumas consultas e retornar o array já convertido
>>> em json
>>>
>>>  Você quer dizer retornar em array e converter pra JSON no
>> controller->view ! não troquemos o lugar das coisas!
>>
>>>
>>>
>>>
>>> Em 20 de agosto de 2012 23:41, Renato Santos <renato.cron at gmail.com>escreveu:
>>>
>>> mas o Model *!=* Schema..
>>>>
>>>> "Can't locate object method "retorna_hora_do_banco" via package
>>>> "DBIx::Class::ResultSet"
>>>> vc tentou $resultset->retorna_hora_do_banco
>>>>
>>>> deve ser: $resultset->result_source->schema->retorna_hora_do_banco(..)
>>>>
>>>> isso pois o Model só existe no contexto catalyst, e o schema serve
>>>> justamente para vc poder usar o schema do banco em qualquer applicação.
>>>>
>>>>
>>>>
>>>> 2012/8/20 Jose Nilton <jniltinho at gmail.com>
>>>>
>>>>> Opa Leonardo, desse modo funcionou,
>>>>>
>>>>> Essa era a minha logica no primeiro post.
>>>>>
>>>>>
>>>>> Em 20 de agosto de 2012 18:31, Leonardo Ruoso <leonardo at ruoso.com>escreveu:
>>>>>
>>>>> Veja que você está chamando o método retorna_hora_do_banco de um
>>>>>> ResultSet, que deve mapear uma tabela no DB. Eu acho que um método como
>>>>>> retorna_hora_do_banco poderia estar no seu Model, provavelmente chamado DB
>>>>>> :-) Eu não me lembro se há um acessor default para retornar a hora do
>>>>>> banco, acho que não, mas meu primeiro impulso seria colocar esse método no
>>>>>> seu Model responsável pelo acesso ao DB e chamá-lo desse Model e não de um
>>>>>> ResultSet.
>>>>>>
>>>>>> Em 20 de agosto de 2012 18:24, Jose Nilton <jniltinho at gmail.com>escreveu:
>>>>>>
>>>>>>
>>>>>>> Fiz esse teste:
>>>>>>>
>>>>>>> "Can't locate object method "retorna_hora_do_banco" via package
>>>>>>> "DBIx::Class::ResultSet"
>>>>>>>
>>>>>>>
>>>>>>> sub retorna_hora_do_banco {
>>>>>>>     my ($self) = @_;
>>>>>>>
>>>>>>>         return "Ola mundo";
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> Coloquei no arquivo Myapp/lib/Schema/Schema.pm
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>>
>>> --
>>> .................................................................
>>>   "Com Deus todas as coisas são possíveis"
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#%21/renato_cron>
>>
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> .................................................................
>   "Com Deus todas as coisas são possíveis"
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120821/0e9c8227/attachment-0001.html>


More information about the SaoPaulo-pm mailing list