Nextras\ORM mazaní vazeb typu m:m
- TOMeek
- Člen | 64
Ahoj,
v mém bádání v Nextras\ORM jsem narazil ještě na jednu věc, které mi
není úplně jasná.
Mám vazbu m:m. Konkrétně něco podobného:
/**
* Item
*
* @property int $id {primary}
* @property string $name
* @property string|null $slug
...
* @property ManyHasMany|Category[] $categories {m:m Category::$items, isMain=true}
*/
class Item extends Entity
{
}
A k kategorie:
/**
* Category
*
* @property int $id {primary}
* @property Category|null $parent {m:1 Category::$categories}
...
* @property OneHasMany|Category[] $categories {1:m Category::$parent}
* @property ManyHasMany|Item[] $items {m:m Item::$categories}
*/
class Category extends Entity
{
}
K tomu mám tabulku items_x_categories
a provázání funguje
dobře. Nyní ale řeším situaci, kdy potřebuju vymazat kategorii a ktomu
vazbu z items_x_categories
, ale produkt nechat. Když mažu
kategorii i produkt, tak se vazba vymaže, ale nevím jak docílit toho, že
produkt má více kategorií, ale když mažu jednu kategorii, tak jí vymažu
z databéze a potřebuju smazat provázání, ale ne samotný produkt. Na to
jsem zatm nedošel. Může mi někdo prosím poradit?
- David Matějka
- Moderator | 6445
ahoj, smazes to volanim remove na relationship
$item->categories
, viz doc https://nextras.org/…elationships#…
- David Matějka
- Moderator | 6445
ano, musis pote persistnout tu item (pripadne category) a flushnout viz testy