X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSourceInstance.pm;h=e9fd560df0b0303b3d0b392f3ee4f766e7d908db;hb=bade79c4db3f32db885572fc8588301dbe7762ff;hp=03fbe7dd88f54d62b79903141aac830fb88c7d28;hpb=b98e75f625eb5474f43a046ba7bedff770214f8e;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/ResultSourceInstance.pm b/lib/DBIx/Class/ResultSourceInstance.pm index 03fbe7d..e9fd560 100644 --- a/lib/DBIx/Class/ResultSourceInstance.pm +++ b/lib/DBIx/Class/ResultSourceInstance.pm @@ -10,8 +10,11 @@ sub resultset_class { shift->result_source_instance->resultset_class(@_) } sub add_columns { my ($class, @cols) = @_; - $class->result_source_instance->add_columns(@cols); - $class->_mk_column_accessors(@cols); + my $source = $class->result_source_instance; + $source->add_columns(@cols); + foreach my $c (grep { !ref } @cols) { + $class->register_column($c => $source->column_info($c)); + } } sub _select_columns { @@ -36,6 +39,19 @@ sub columns { sub set_primary_key { shift->result_source_instance->set_primary_key(@_); } sub primary_columns { shift->result_source_instance->primary_columns(@_); } -sub result_source { shift->result_source_instance(@_); } +sub add_relationship { + my ($class, $rel, @rest) = @_; + my $source = $class->result_source_instance; + $source->add_relationship($rel => @rest); + $class->register_relationship($rel => $source->relationship_info($rel)); +} + +sub relationships { + shift->result_source_instance->relationships(@_); +} + +sub relationship_info { + shift->result_source_instance->relationship_info(@_); +} 1;