<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
In the classes you have written, you are using the same name for the
many_to_many method from ("group") in User.pm as you have used in
method between UserGroup to Group.<br>
<br>
__PACKAGE__->many_to_many(group => 'usergroups', 'group');<br>
<br>
I have seen this cause problems in my hands when using it for User
Role relationships (Authorization::Role and ACL).. I would recommend
avoiding reusing the relationship accessor names. <br>
<br>
<br>
On 11/30/10 8:02 AM, linuxsupport wrote:
<blockquote
cite="mid:AANLkTi=6uB8g=LiDOUiyh1mx3DDXU6v+Ej0cE=+UYYDY@mail.gmail.com"
type="cite">Hi,<br>
<br>
I am new to Catalyst and DBIx::Class, trying to use many_to_many
relationship.<br>
<br>
I have 3 tables, users, user_groups, and group, table structure
and relationship are setup as follows.<br>
<br>
User.pm<br>
<br>
__PACKAGE__->add_columns(<br>
"id",<br>
{ data_type => "integer", is_nullable => 0 },<br>
"username",<br>
{ data_type => "text", is_nullable => 1 },<br>
"password",<br>
{ data_type => "text", is_nullable => 1 },<br>
"email_address",<br>
{ data_type => "text", is_nullable => 1 },<br>
"first_name",<br>
{ data_type => "text", is_nullable => 1 },<br>
"last_name",<br>
{ data_type => "text", is_nullable => 1 },<br>
"active",<br>
{ data_type => "integer", is_nullable => 1 },<br>
);<br>
__PACKAGE__->set_primary_key("id");<br>
<br>
__PACKAGE__->has_many("usergroups",
"Example::Schema::Result::UserGroup",{ "foreign.user_id" => "<a
moz-do-not-send="true" href="http://self.id">self.id</a>" },);<br>
__PACKAGE__->many_to_many(group => 'usergroups', 'group');<br>
<br>
UserGroup.pm<br>
<br>
__PACKAGE__->add_columns(<br>
"user_id",<br>
{ data_type => "integer", is_nullable => 0 },<br>
"group_id",<br>
{ data_type => "integer", default_value => 0, is_nullable
=> 0 },<br>
);<br>
__PACKAGE__->set_primary_key("user_id", "group_id");<br>
<br>
__PACKAGE__->belongs_to("user",
"Example::Schema::Result::User", { id => "user_id" },{
join_type => "LEFT" },);<br>
__PACKAGE__->belongs_to("group",
"Example::Schema::Result::Group", { id => "group_id" },{
join_type => "LEFT" },);<br>
<br>
Group.pm<br>
<br>
__PACKAGE__->add_columns(<br>
"id",<br>
{ data_type => "integer", is_nullable => 0 },<br>
"group",<br>
{ data_type => "text", is_nullable => 0 },<br>
);<br>
__PACKAGE__->set_primary_key("id");<br>
<br>
__PACKAGE__->has_many("usergroup","Example::Schema::Result::UserGroup",{
"foreign.group_id" => "<a moz-do-not-send="true"
href="http://self.id">self.id</a>" },);<br>
<br>
Can anyone tell me how I can retrieve all the users who are member
of a group called 'manager'?<br>
<br>
Thanks <br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Kutbuddin Doctor, PhD
Bioinformatics Shared Resource,
Sanford-Burnham Medical Research Institute
<a class="moz-txt-link-freetext" href="http://www.sanfordburnham.org/">http://www.sanfordburnham.org/</a></pre>
</body>
</html>