— — — — — — — — — — |
package
DBICNGTest::Schema::Result::Person;
has 'created' => (
is => 'ro' ,
isa => 'DateTime' ,
required =>1,
default => sub {
DateTime->now;
},
);
__PACKAGE__
->table( 'person' );
__PACKAGE__
->add_columns(
person_id => {
data_type => 'integer' ,
},
fk_gender_id => {
data_type => 'integer' ,
},
name => {
data_type => 'varchar' ,
size =>32,
},
age => {
data_type => 'integer' ,
default_value =>25,
},
created => {
data_type => 'datetime' ,
default_value => 'date("now")' ,
});
__PACKAGE__
->set_primary_key( qw/person_id/ );
__PACKAGE__
->has_many(
friendlist => 'DBICNGTest::Schema::Result::FriendList' ,
{ 'foreign.fk_person_id' => 'self.person_id' });
__PACKAGE__
->belongs_to( gender => 'DBICNGTest::Schema::Result::Gender' , {
'foreign.gender_id' => 'self.fk_gender_id' });
__PACKAGE__
->belongs_to( fanlist => 'DBICNGTest::Schema::Result::FriendList' , {
'foreign.fk_friend_id' => 'self.person_id' });
__PACKAGE__
->many_to_many( friends => 'friendlist' , 'friend' );
__PACKAGE__
->many_to_many( fans => 'fanlist' , 'befriender' );
1;
|