Doctrine2 - многие-многие отношения - PullRequest
0 голосов
/ 21 июня 2019

У меня есть три таблицы. Коллекционный стол, ShopProductCollection table и ShopProductTabe.

Мне нужна коллекция продуктов.

Я попробовал пример, который генерирует новую таблицу с соответствующими идентификаторами, но не могу понять, как правильно использовать ее для получения моей коллекции продукта.

Мои существа:

**
 * @ORM\Entity
 * @ORM\Table(name="collections")
 */

class Collection extends BaseEntity

{
/**
 * @var \Doctrine\Common\Collections\Collection|CollectionShopProduct[]
 *
 * @ORM\ManyToMany(targetEntity="App\Base\Entity\Shop\CollectionShopProduct", inversedBy="collection")
 * @ORM\JoinTable(
 *  name="collections_shop_product",
 *  joinColumns={
 *      @ORM\JoinColumn(name="collection_id", referencedColumnName="collection")
 *  },
 *  inverseJoinColumns={
 *      @ORM\JoinColumn(name="shop_product_id", referencedColumnName="shopProduct")
 *  }
 * )
 */
protected $products;

/**
 * Default constructor, initializes collections
 */
public function __construct()
{
    $this->products = new ArrayCollection();
}

...

    /**
 * @ORM\Entity
 * @ORM\Table(name="collections_shop_product")
 */

class CollectionShopProduct extends BaseEntity

{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 * @Groups({"collection_shop_product_data"})
 */
protected $id;

/**
 * @var \Doctrine\Common\Collections\Collection|Collection[]
 *
 * @ORM\ManyToMany(targetEntity="App\Base\Entity\Shop\Collection", mappedBy="products")
 */
private $collection;

/**
 * @ORM\ManyToOne(targetEntity="LaunchPad\Base\Entity\Shop\ShopProduct")
 * @JoinColumn(name="shop_product_id", referencedColumnName="id", nullable=true)
 * @Groups({"collection_shop_product_data"})
 */
private $shopProduct;

Может кто-нибудь помочь, я свихну меня.

...