This topic might have been previously covered but i don't seem to be able to
find the solution, so apologies in advance if it's a repeated post.
Is it possible with DBIx::Class to have a class (sub-class) which properties
are associated with two or more DB tables.
A generic example would be:
My::Class::User
My::Class::User::Admin
My::CLass::User::PowerUser
etc.
The parent class User has a table in DB (called user) that holds columns common
to all User sub-classes, where User::Admin would also need to look in a second
DB table (called user_admin) and add the extra columns to the User::Admin
object. User::PowerUser would also have it's own extra table (call it
user_poweruser).
Both sub-classes will need to look into the user table to get the common
columns and then add the extra ones from their respective tables.
I can not use Database VIEWS as they are not supported in Mysql 4.0
I don't mind if I have to instantiate a User object first that will then
inflate (re-bless) itself to the appropriate sub-class (although it does sound
a bit back to front).
My main objectives are:
1. All this to happen with a single hit to the DB (one SQL statement)
2. DBIx::Class search(), find() methods will still work as normal i.e.
my $admin_rs = $schema->resultset('Admin')->find(1);
will return me User::Admin object with it's properties being the combined
columns of the user and user_admin DB tables.
I understand that essentially I am looking for a join between two tables, but i
needed it on all methods, i.e. new(), find(), search(), any relationships etc.
Do i need to override these to get the required result? or DBIx::Class is not
the right tool for the specific job?
Any ideas/clues or even better code examples ;-) would be much appreciated
Andreas
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]