[SP-pm] DBIx::Class + executando funções no SELECT
Renato Santos
renato.cron at gmail.com
Fri Jun 27 08:59:02 PDT 2014
Faça o bind local:
my $row = $c->model('DB::Tabela')->search(
undef,
{
'+select' => [
\['randseq((?)::integer)', { randseq_param => 123 }],
] ,
'+as' => ['randseq']
},
)->next;
# $row->get_column('randseq');
http://search.cpan.org/~ribasushi/SQL-Abstract-1.78/lib/SQL/Abstract.pm#Literal_SQL_with_placeholders_and_bind_values_(subqueries)
2014-06-27 12:47 GMT-03:00 Andre Carneiro <andregarciacarneiro at gmail.com>:
> Opa, já descobri! Foi mal!
>
> Era só passar 'bind', assim:
>
> $c->model('DB::Tabela)->search(undef, {
> select =>
> ['randseq((?)::integer) ', ] ,
> as =>
> [qw/randseq/],
> bind => [12345],
> }, );
>
> O problema agora é que o DBIx::Class me solta o seguinte erro:
>
> schema "me" does not exist [for Statement "SELECT me.randseq((?)::integer)
> FROM Tabela me" with ParamValues: 1='12345']
>
>
> Aparentemente, DBIx::Class não reconhece o apelido que ele mesmo deu pra
> tabela... :-p
>
>
> Alguma idéia?
>
>
> 2014-06-27 12:38 GMT-03:00 Andre Carneiro <andregarciacarneiro at gmail.com>:
>
> Boa tarde!
>>
>> Alguém pode me dizer como eu envio as bind variables para uma equivalente
>> a query abaixo no DBIx::Class, por gentileza?
>>
>>
>> SELECT randseq((?)::integer) as randseq FROM Tabela;
>>
>>
>> Minha tentativa no DBIx::Class
>>
>>
>> $c->model('DB::Tabela)->search(undef, {
>> select =>
>> ['randseq((?)::integer) as randseq ', ] ,
>> }, );
>>
>>
>> Não consegui descobrir em que lugar da estrutura eu preciso passar as
>> 'bind variables' para o DBIx::Class. Alguém poderia me ajudar, por
>> gentileza?
>>
>>
>>
>> Obrigado!
>>
>> --
>> André Garcia Carneiro
>> Software Engineer
>> (11)982907780
>>
>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>
> =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/20140627/7e386341/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list