DBIx :: Class :: ResultSet, имеющий атрибут, не работающий как задокументированный? - PullRequest
0 голосов
/ 04 июня 2019

Я следую учебнику для DBIx :: Class :: Migration и попал на шаг , где DBIx :: Class :: ResultSet Имеющий атрибут имел два различных синтаксиса: взаимозаменяемо (crtl + f ResultSet :: Artist, так как он немного дальше от связанного раздела). Первый / закомментированный один не работает (возвращается ноль строк), но задокументирован так, как я его написал, а второй - (возвращается 1 строка).

Я что-то пропускаю или это ошибка?

package MusicBase::Schema::ResultSet::Artist;

use strict;
use warnings;

use base 'DBIx::Class::ResultSet';

sub has_more_than_one_cds {
  my $me = (my $self = shift)->current_source_alias;

  my $rs = $self->search(
    undef,
    {
      join => [ 'cd_rs' ],
      '+select'=> [ { count => 'cd_rs.cd_id', -as => 'cd_count' } ],
      '+as'=> [ 'cd_count' ],
      group_by => [ "$me.artist_id" ],

      # having => { cd_count => { '>', 1 } } # This does not work
      having => { cd_count => \'> 1' } # This does despite being
                                       # undocumented
    }
  );

  return $rs
}

1
...