<!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__-&gt;many_to_many(group =&gt; '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__-&gt;add_columns(<br>
      &nbsp; "id",<br>
      &nbsp; { data_type =&gt; "integer", is_nullable =&gt; 0 },<br>
      &nbsp; "username",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 1 },<br>
      &nbsp; "password",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 1 },<br>
      &nbsp; "email_address",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 1 },<br>
      &nbsp; "first_name",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 1 },<br>
      &nbsp; "last_name",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 1 },<br>
      &nbsp; "active",<br>
      &nbsp; { data_type =&gt; "integer", is_nullable =&gt; 1 },<br>
      );<br>
      __PACKAGE__-&gt;set_primary_key("id");<br>
      <br>
      __PACKAGE__-&gt;has_many("usergroups",
      "Example::Schema::Result::UserGroup",{ "foreign.user_id" =&gt; "<a
        moz-do-not-send="true" href="http://self.id">self.id</a>" },);<br>
      __PACKAGE__-&gt;many_to_many(group =&gt; 'usergroups', 'group');<br>
      <br>
      UserGroup.pm<br>
      <br>
      __PACKAGE__-&gt;add_columns(<br>
      &nbsp; "user_id",<br>
      &nbsp; { data_type =&gt; "integer", is_nullable =&gt; 0 },<br>
      &nbsp; "group_id",<br>
      &nbsp; { data_type =&gt; "integer", default_value =&gt; 0, is_nullable
      =&gt; 0 },<br>
      );<br>
      __PACKAGE__-&gt;set_primary_key("user_id", "group_id");<br>
      <br>
      __PACKAGE__-&gt;belongs_to("user",
      "Example::Schema::Result::User", { id =&gt; "user_id" },{
      join_type =&gt; "LEFT" },);<br>
      __PACKAGE__-&gt;belongs_to("group",
      "Example::Schema::Result::Group", { id =&gt; "group_id" },{
      join_type =&gt; "LEFT" },);<br>
      <br>
      Group.pm<br>
      <br>
      __PACKAGE__-&gt;add_columns(<br>
      &nbsp; "id",<br>
      &nbsp; { data_type =&gt; "integer", is_nullable =&gt; 0 },<br>
      &nbsp; "group",<br>
      &nbsp; { data_type =&gt; "text", is_nullable =&gt; 0 },<br>
      );<br>
      __PACKAGE__-&gt;set_primary_key("id");<br>
      <br>
      __PACKAGE__-&gt;has_many("usergroup","Example::Schema::Result::UserGroup",{
      "foreign.group_id" =&gt; "<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>