[Cascavel-pm] duvida catalyst chamada de function

Donato Azevedo donatoaz em gmail.com
Quarta Abril 11 13:50:43 PDT 2007


Pessoal,

gostaria de saber como chamar uma function criada no mysql num schema:

a function que eu criei, pode ser chamada assim pela linha de comando:
select calc_daily_alloc_hours( ID_DO_USUARIO, DATA )
por exemplo:
mysql> select calc_daily_request_alloc_hours(1,'2007-03-01',1);
+--------------------------------------------------+
| calc_daily_request_alloc_hours(1,'2007-03-01',1) |
+--------------------------------------------------+
|                                             0.33 |
+--------------------------------------------------+

eu li no cookbook do catalyst que eu poderia fazer isto assim:
<code>
package MyTasks::Schema::User;

sub total_allocated_hours {
  my ($self, $date) = @_;
  my $res = $self->result_source->schema->resultset('RequestUserAllocatedHours')->search(
    {},
    {
      select => [{calc_daily_alloc_hours => [$self->id, $date]}],
      as => [qw/ hours /],
    }
  );
  return $res->first()->hours;
}
</code>

e no template eu faço:
[% usr->total_allocated_hours(date) %]

eu sei que tem algo errado, pois fazendo desta maneira o select gerado
seria algo do tipo:
select calc_daily_alloc_hours(id, date) from request_user_allocated_hours;

como eu resolvo isto?

--
Donato Azevedo


Mais detalhes sobre a lista de discussão Cascavel-pm