rendered paste bodypackage STI::Person;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('person');
__PACKAGE__->add_columns(
id => {
data_type => 'integer',
is_auto_increment => 1,
},
name => {
data_type => 'varchar',
is_nullable => 1,
},
employer => {
data_type => 'varchar',
is_nullable => 1,
},
type => {
data_type => 'varchar'
}
);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->resultset_class('STI::Person::ResultSet');
sub insert {
my ($self,@rest) = shift;
$self->type(ref($self->result_source->source_name);
$self->next::method(@_);
}
sub update {
my ($self,@rest) = shift;
$self->type($self->result_source->source_name);
$self->next::method(@_);
}
package STI::Person::ResultSet;
use base 'DBIx::Class::ResultSet';
sub search_rs {
my ($self,@rest) = @_;
my $ret = $self->next::method(@rest);
$ret->{cond}->{type} = $self->result_source->source_name;
return $ret;
}
1;