in reply to Class::DBI global questions and references
#!/usr/bin/perl use Class::DBI; package MyPackage; use base ('Class::DBI'); FsDBI->set_db('Main', 'DBI:mysql:databasename', 'user', 'password'); package MyPackage::user; use base ('MyPackage'); MyPackage::User->table('user'); MyPackage::User->columns(Essential => qw(id role_id name lastname)); MyPackage::User ->has_a (role_id => 'FsDBI::role'); package MyPackage::role; use base ('MyPackage'); MyPackage::role->table('role'); MyPackage::role->columns(Essential => qw(id role_title));
#!/usr/bin/perl use MyPackage; my $testuser=MyPackage::user->retrieve(1); print "user with id 1 is $testuser \"; print "\n"; print "user with id 1 has role $testuser->role_id(1)";
#!/usr/bin/perl use Class::DBI; package MyPackageO2M; use base ('Class::DBI'); FsDBI->set_db('Main', 'DBI:mysql:databasename', 'user', 'password'); package MyPackage::Tester; use base ('MyPackageO2M'); MyPackage::Tester->table('user'); MyPackage::Tester->columns(Essential => qw(id role_id name lastname)); # see the difference: the method name (ihavesomuchroles) can be comple +tely different to the database-table. # which means in a 1:m situation, even the Classes can have different +names than the originating database-tables. # (MyPackage::user VS MyPackage::Tester) MyPackage::Tester ->has_many (ihavesomuchroles => 'MyPackage::role','i +d'); # the 'id' argument to 'ihavesomuchroles' is the destination field fo +r MyPackage::role package MyPackage::role; use base ('MyPackage'); MyPackage::role->table('role'); MyPackage::role->columns(Essential => qw(id role_title));
#!/usr/bin/perl use MyPackageO2M; my $testuser=MyPackage::user->retrieve(1); print "user with id 1 is $testuser \n"; print "and has roles:\n"; @roles=$testuser->ihavesomuchroles; foreach my $temp (@roles) { print "role: $temp->id."and".$temp->role_title."\n";}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Class::DBI global questions and references (partly explained, waiting for more ;)
by perrin (Chancellor) on Sep 30, 2003 at 03:15 UTC | |
by parasew (Beadle) on Sep 30, 2003 at 22:36 UTC | |
|
Re: Re: Class::DBI global questions and references (partly explained, waiting for more ;)
by ile (Initiate) on Oct 02, 2003 at 10:02 UTC |