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

Leonardo Ruoso leonardo at ruoso.com
Mon Aug 20 14:31:50 PDT 2012


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 em 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
>
>
>
> Em 20 de agosto de 2012 17:04, Renato Santos <renato.cron em gmail.com>escreveu:
>
>> Me confundi um pouco.... Explique o que você está querendo dizer cmo
>> Model, afinal, o model faz parte do MVC, e não do Schema do DBIC. Embora
>> seja con*fundido *quase sempre..
>>
>> Se vc precisa de alguma funcao, por exemplo, rodar uma SQL de preguiça
>> escrita a mão, vc pode adicionar ela no Schema, assim todos podem acessar
>> lá:
>>
>> de uma row pra um schema:
>> $row->result_source->schema
>>
>> de uma DBIx::Class::Row OU DBIx::Class::Resultset pra um schema:
>> $OBJECT->result_source->schema
>>
>> --------
>> então você pode fazer no Schema.pm algo assim:
>>
>>
>> sub retorna_hora_do_banco {
>>
>>         my $res = eval {
>>             $self->storage->dbh->selectrow_hashref( "select
>> current_time() as foo",
>>                 undef, @args );
>>         };
>>         do { print $@; return undef } if $@;
>>         return $res;
>>
>> }
>>
>> ps: nao testei a funcao, mas é basicamente isso.... mas cara.. na boa!
>>
>> --------
>>
>> outra hipotese, é vc estar falando disso:
>>
>>
>> http://search.cpan.org/~zarquon/Catalyst-Manual-5.9004/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod#Create_a_ResultSet_Class
>>
>> 2012/8/20 Jose Nilton <jniltinho em gmail.com>
>>
>>>
>>> Outra coisa, como eu faço para criar um query SQL no Model, e como faço
>>> para criar outras funções SQL no Model que possa ser acessada do Controller.
>>>
>>> Desculpe essas perguntas bobas, coisa de iniciante no Catalyst
>>>
>>>
>>> Em 20 de agosto de 2012 16:51, Jose Nilton <jniltinho em gmail.com>escreveu:
>>>
>>> Boa tarde a todos,
>>>>
>>>> Gostaria de saber como eu faço para listar só alguns campos da tabela:
>>>>
>>>> Exemplo:
>>>>
>>>> Banco: agencia
>>>> Tabelas: users
>>>> Campos: id, login, email, password, adm, active, create.
>>>>
>>>> Não quero selecionar todos os campos, quero id, login, email, active.
>>>>
>>>> Obrigado
>>>>
>>>>
>>>
>>> --
>>> .................................................................
>>>   "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 em 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 em 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 em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120820/6371cc9a/attachment-0001.html>


More information about the SaoPaulo-pm mailing list