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

Jose Nilton jniltinho at gmail.com
Mon Aug 20 17:44:20 PDT 2012


Opa Leonardo, desse modo funcionou,

Essa era a minha logica no primeiro post.


Em 20 de agosto de 2012 18:31, Leonardo Ruoso <leonardo em 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 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
>>
>>
>
> =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"
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120820/39c3a872/attachment.html>


More information about the SaoPaulo-pm mailing list