Я следовал примеру на http://wiki.class-dbi.com/wiki/Overriding_autogenerated_accessors а>
Я хочу изменить URL-адрес, прежде чем он будет вставлен в базу данных:
package Hosting::Company;
use base 'Class::DBI';
my $class = __PACKAGE__;
$class->table('Companies');
$class->columns(Primary => 'CompanyId');
$class->columns(Others => qw/Name Url Comment/);
sub Url {
my $self = shift;
# modify URL.
if (@_) {
$_[0] = 'aaaaaaaaaaaa';
# return $self->_Url_accessor('aaaaaaaaaaaa'); - doesn't work either
}
# Back to normal Class::DBI
return $self->_Url_accessor(@_);
}
Но это не работает:
my $company = Hosting::Company->insert({ Name => 'Test', Url => 'http://http://url' });
print $company->Url, "\n";
Показывает:
http://http://url
Я бы хотел, чтобы список рассылки Class:DBI был еще жив!