Oznámení

Fórum bylo uzavřeno. Využijte prosím služeb serverů JakPsatWeb, Builder nebo Webtrh.

#1 před 2 lety

vrtak-cz
Nette Evangelist
Registrovaný: 8. 3. 2008
Příspěvky: 2120

Asociace s dalšími metadaty

Mějme zhruba toto:

/**
 * @entity
 */
class Collection
{
        /**
         * @ManyToMany(targetEntity="Item", mappedBy="collections")
         */
        private $items;
}

/**
 * @entity
 */
class Item
{
        /**
         * @ManyToMany(targetEntity="Collections", inversedBy="items")
         * @JoinTable(name="items_collections",
         *      joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")},
         *      inverseJoinColumns={@JoinColumn(name="collection_id", referencedColumnName="id")}
         *      )
         */
        private $collections;
}

Což je jednoduchá asociace M:N. Jenomže nyní jsem narazil na potřebu řadit položky v koleckci. Jediné řešení které mě zatím napadlo je symulovat si JoinTable nějákou entitou s 1:N vazbami na kolekce a položky.

Napadá někoho něco lepšího?

Editoval vrtak-cz (14. 10. 2010 7:31)


Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

 

#2 před 2 lety

jantichy
Člen
Registrovaný: 29. 1. 2010
Příspěvky: 29

Re: Asociace s dalšími metadaty

Jenomže nyní jsem narazil na potřebu řadit položky v koleckci.

Anotace @orderBy by nepomohla?

 

#3 před 2 lety

vrtak-cz
Nette Evangelist
Registrovaný: 8. 3. 2008
Příspěvky: 2120

Re: Asociace s dalšími metadaty

nepomohla protože potřebuji customizovatelné řazení (Možnost změnit pořadí v administraci).


Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

 

#4 před 2 lety

jantichy
Člen
Registrovaný: 29. 1. 2010
Příspěvky: 29

Re: Asociace s dalšími metadaty

Tak v tom případě klasicky přes DQL.

 

#5 před 2 lety

vrtak-cz
Nette Evangelist
Registrovaný: 8. 3. 2008
Příspěvky: 2120

Re: Asociace s dalšími metadaty

Jasné to vím… Mě jde spíš o to ukládání informací o pozici. Protože tahle informace má smysl pouze v asociaci. Jinak je na nic. (v jedné kolekci totiž může být položka první v jiné kolekci uprostřed a v další na konci).


Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

 

#6 před 2 lety

paranoiq
Moderator
Registrovaný: 14. 11. 2006
Příspěvky: 381

Re: Asociace s dalšími metadaty

tohle by musela na vlastnící straně řešit nějaká OrderableCollection ve spolupráci s mapperem. v Doctrine a možná, že ani v žádném jiném ORM asi podpora téhle feature nebude

 

#7 před 2 lety

vrtak-cz
Nette Evangelist
Registrovaný: 8. 3. 2008
Příspěvky: 2120

Re: Asociace s dalšími metadaty

Právě proto se ptám jestli existuje lepší způsob než použít „JoinTable entitu“. Jak se zdá tak ne.


Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

 

Zápatí