NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Doctrine 2 | Vazba Many-To-Many s dalšími parametry

Aktivity
Avatar
Jirka Veselý:23.8.2017 9:20

Ahojte, mám 2 entity. User a Klan. Tyto entity jsem spojil vazbou Many To Many. Avšak bych potřeboval vědět, jaké postavení má každý uživatel v daném klanu, proto jsem do join tabulky přidal kolonku "status". Co jsem nějak tak vygooglil, tak že to jde řešit stylem vytvoření 3. entity, ale to mi příjde takové moc zbytečné. ¨

class Clan extends BaseEntity
{
        /**
         * @ORM\ManyToMany(targetEntity="User", mappedBy="clans")
         */
        public $members;
}

a

class User extends BaseEntity
{
        /**
         * @ORM\ManyToMany(targetEntity="Clan", inversedBy="members")
         * @ORM\JoinTable(name="user_clan")
         */
        public $clans;
}

Chci se zeptat, jesli by nešla udělat vazba Many-To-Many s jednou column navíc a ještě, jak bych se na to column pak doptal. Díky moc.

 
Odpovědět
23.8.2017 9:20
Avatar
d4rkw34v3r
Tvůrce
Avatar
Odpovídá na Jirka Veselý
d4rkw34v3r:23.8.2017 9:39

Ahoj, jediný správný řešení je to opravdu rozbít na 3 Entity. Další možností by mohlo být použít čisté SQL a výsledek pak ručně mapovat na entity, ale lepší bude to udělat pomocí 3 entit, protože pokud do vazby potřebuješ další field, tak už to není čistá vazba, ale Entita.

 
Nahoru Odpovědět
23.8.2017 9:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.