X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FFilterColumn.pm;h=feef4f1610d0fd1e6619432a5e9c174e4abb8daa;hb=fcf32d045;hp=196b3ee17e5419b49fbf5384955b969646bf3bd5;hpb=eec182b6efc0f565751f2c81ce25ee419ebb133e;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/FilterColumn.pm b/lib/DBIx/Class/FilterColumn.pm index 196b3ee..feef4f1 100644 --- a/lib/DBIx/Class/FilterColumn.pm +++ b/lib/DBIx/Class/FilterColumn.pm @@ -7,9 +7,11 @@ use base qw/DBIx::Class::Row/; sub filter_column { my ($self, $col, $attrs) = @_; + my $colinfo = $self->column_info($col); + $self->throw_exception('FilterColumn does not work with InflateColumn') if $self->isa('DBIx::Class::InflateColumn') && - defined $self->column_info($col)->{_inflate_info}; + defined $colinfo->{_inflate_info}; $self->throw_exception("No such column $col to filter") unless $self->has_column($col); @@ -20,8 +22,8 @@ sub filter_column { $self->throw_exception('An invocation of filter_column() must specify either a filter_from_storage or filter_to_storage') unless $attrs->{filter_from_storage} || $attrs->{filter_to_storage}; - $self->column_info($col)->{_filter_info} = $attrs; - my $acc = $self->column_info($col)->{accessor}; + $colinfo->{_filter_info} = $attrs; + my $acc = $colinfo->{accessor}; $self->mk_group_accessors(filtered_column => [ (defined $acc ? $acc : $col), $col]); return 1; }