Hi Herman,
I can make it group_members as join table but it has one more column 
is_teacher and future we may add more. So how can i make it join table. 
Please suggest me.

Thank you,
Swapna v

On Tuesday, April 1, 2014 2:04:44 PM UTC+5:30, Herman Peeren wrote:
>
> 1. it seems that you want a ManyToMany relation between Group and User (a 
> User can be a member of many groups and a Group can have many users). Then 
> there is no necessity to make Member a separate entitiy; only do that if 
> membership has some extra properties or behaviour. In the simplest case you 
> can just have group_members as a join-table, but it doesn't need to be a 
> separate entity. If you need it to be a separate entity I would not call it 
> Member, but Membership or Subscription or something else that describes 
> that entity.
>
> 2. If you want all members/users of a group, easiest is to make that 
> relationship bidirectional: then you'll have a $members collection in a 
> Group and do a $group->getMembers() to retrieve the users of that Group.
>
>
> On Tuesday, 1 April 2014 10:10:51 UTC+2, Swapna V wrote:
>>
>> Hi Alex/Jasper,
>>
>> Just wanted to confirm with you guys on following stuff. Now i have to 
>> create the one-to-many self referencing association. Following are the 
>> details of table structure and annotations.
>>
>> *table: groups*
>> id int(11) NOT NULL 
>> name varchar(50) NOT NULL 
>> parent_id int(11) NULL 
>> icon_id int(11) NULL
>>
>> *table: group_members*
>> int int(11) NOT NULL 
>> group_id int(11) NOT NULL
>> user_id int(11) NOT NULL 
>> is_teacher int(11) NOT NULL
>>
>> *Annotations*
>>
>> *.....................groups.........................*
>> /**
>>  * @Entity @Table(name="groups")
>>  **/
>> class Group 
>> {
>> /**
>>      * @Id @Column(type="integer") @GeneratedValue
>>      * @var int
>>      */
>>     protected $id;
>>
>>     /**
>>      * @Column(type="string")
>>      * @var string
>>      */
>>     protected $name;
>>
>>     /**
>>      * @OneToMany(targetEntity="Group", mappedBy="class")
>>      **/
>>     private $groups;
>>
>>     /**
>>      * @ManyToOne(targetEntity="Group", inversedBy="groups")
>>      * @JoinColumn(name="parent_id", referencedColumnName="id")
>>      **/
>>     private $class;
>>
>>     /**
>>      * @Column(type="integer", nullable=true)
>>      * @var integer
>>      */
>>     protected $icon_id;
>>
>>     public function __construct() {
>>         $this->groups = new ArrayCollection();
>>     }
>>
>> *........................group_members..........................*
>> /**
>>  * @Entity @Table(name="group_members")
>>  **/
>> class GroupMember
>> {
>> /**
>>      * @Id @Column(type="integer") @GeneratedValue
>>      * @var int
>>      */
>>     protected $id;
>>
>>     /**
>>      * @ManyToOne(targetEntity="Group", inversedBy="group_members")
>>      * @JoinColumn(name="group_id", referencedColumnName="id")
>>      **/
>>     private $group;
>>
>>     /**
>>      * @ManyToOne(targetEntity="User", inversedBy="group_members")
>>      * @JoinColumn(name="user_id", referencedColumnName="id")
>>      **/
>>     private $groupuser;
>>
>> I have to get list of all members by group id or name. Am unable to get 
>> it.
>>
>> Thank you,
>> Swapna V
>>
>> On Sunday, March 30, 2014 9:15:29 PM UTC+5:30, Swapna V wrote:
>>>
>>> Hi,
>>>
>>> I am new to doctrine world. I have problem with understanding 
>>> many-to-many associations. Following is my table structure:
>>>
>>> **users**
>>>
>>> id int(11) NOT NULL
>>>
>>> name varchar(50) NOT NULL
>>>
>>> role_id int(11) NOT NULL
>>>
>>> **roles**
>>>
>>> int int(11) NOT NULL
>>>
>>> role varchar(255) NOT NULL
>>>
>>> **relations**
>>>
>>> id int(11) NOT NULL
>>>
>>> name varchar(50) NOT NULL
>>>
>>> **relatives**
>>>
>>> id int(11) NOT NULL
>>>
>>> user_id int(11) NOT NULL
>>>
>>> relativeuser_id int(11) NOT NULL
>>>
>>> relation_id int(11) NOT NULL
>>>
>>> invitedby_id int(11) NULL
>>>
>>> according to above schema relatives columns user_id, relativeuser_id and 
>>> invitedby_id are foreign key from users table. And relation_id is foreign 
>>> key from relations table.
>>>
>>>
>>> Please help me creating associations for this table. (if you give answer 
>>> in yaml format will be helpful).
>>>
>>> Thank you,
>>>
>>> Swapna V
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to