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 {
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;