Birçok Birçok Doktrini

2 Cevap php

I have a question about Doctrine ORM M:M. I built some tables like this: -User +id +name -Group +id +name

I want to link these table via a new table with Doctrine: In Group class:

$this->hasMany('User as Users', array(
            // I'm wondering what I can fill here
            'refClass' => 'UserGroup'
        ));

ve kullanıcı sınıfta:

 $this->hasMany('Group as Groups', array(
                // I'm wondering what I can fill here
                'refClass' => 'UserGroup'
            ));

Please help me fill the blank. Thanks. Looking forward to hearing from you soon.

P / S: İngilizcem için özür dilerim

2 Cevap

http://www.doctrine-project.org/documentation/manual/1_2/en/defining-models#relationships:join-table-associations:many-to-many servis tam olarak modeli de bunun için bazı güzel belgeler vardır.

Kullanıcı tablo sınıfında temelde bu kodu:

$this->hasMany('Group as Groups', array(
                'local' => 'user_id',
                'foreign' => 'group_id',
                'refClass' => 'UserGroup'
            )
        );

KullanıcıGrubu kavşak tablosu aracılığıyla, Grup tablo ilişkili olduğunu belirtiyor. Kullanıcı grubu içinde "User_id" sütununda yerel tablo (Kullanıcı) maçları ve "group_id" yabancı tablo (Group) eşleşen anahtar anahtarıdır.

Grup tablo sınıfında benzer bir deyimi ters sağlamaktadır:

$this->hasMany('User', array(
                'foreign' => 'user_id',
                'local' => 'group_id',
                'refClass' => 'UserGroup'
            )
        );

Grup:

$this->hasMany('User as Users', array(
  'refClass' => 'UserGroup',
  'local' => 'group_id',
  'foreign' => 'user_id');

Kullanıcı:

$this->hasMany('Group as Groups', array(
  'refClass' => 'UserGroup',
  'local' => 'user_id',
  'foreign' => 'group_id');