Hello,
I seem to have particular problems with negative thinking ;-)
Well, here is the problem: I use a many to many relationship to
define group membership of users. So I have three tables 'users',
'groups' and 'groupmappings' and a relationship definition that looks
like this (within the Users class):
groups => {
type => 'many to many',
map_class => 'Groupmappings',
},
but how can I negate this, so I get all the groups, the user is not a
member of?
Of course I can do it by hand, do a 'Groups->get_groups()', extract
the ids then use the above many to many relationship for the groups
of the user, extract the ids, then do a diff of the two id-lists. But
this doesn't look like the right way to go. After all, it looks like
a simple SQL problem (tested):
select id from groups where not exists (select * from groupmappings
where user_id = $self->id and group_id = id);
Now, I have no idea how to express this in relationship terms.
Or should I use the get_groups() manager method:
my $not_in_groups = Groups->get_groups(
clauses => ["not exists (select * from groupmappings where
user_id = $userid and group_id = id)"],
);
Or can this be done with query args?
As you can see lots of questions, no showstopper since I found ways
to get my group list but I think there are ways to do it the RDBO way
and I would like to learn them...
Thanks,
Michael
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object