create table dept as select department_id dept, department_name dname from departments;
package HR::dept; use base qw{DBIx::Class};
__PACKAGE__->load_components(q(Core));
__PACKAGE__->table('dept');
__PACKAGE__->add_columns(qw{dept dname});
__PACKAGE__->set_primary_key('dept');
package HR::emp; use base q{DBIx::Class};
__PACKAGE__->load_components(q(Core));
__PACKAGE__->table('emp');
__PACKAGE__->add_columns(qw{emp dept email});
__PACKAGE__->set_primary_key('emp');
__PACKAGE__->belongs_to(dept => 'HR::dept');
package HR::dept; __PACKAGE__->has_many(emps => 'HR::emp');
package HR; use base qw{DBIx::Class::Schema}; __PACKAGE__->load_classes(qw{emp dept});
$schema=HR->connect('dbi:Oracle:','hr/hr');
print $_->dname, ' => ', @{[join ':', map {$_->email} $_->emps]}, qq(\n) for $schema->resultset('dept')->all;
没有评论:
发表评论