próbuje zrobić mapowanie dla trzech tabel:
posts / tabela przechowująca newsy itp
-----------
id
title
slug
content
dateAdd
menu / tabela z kategoriami - każdy news może być przyporządkowany do kilku kategorii
-----------
id
parentId
category_name
slug
connector / tabela łącząca rekordy z tabel: posts i menu
-------------
id
menuId
postId
Post.php
/** * @ORM\OneToMany(targetEntity="Connector", mappedBy="post", cascade={"all"}) */ protected $connectors; public function getConnectors() { return $this->connectors; } public function __construct(){ $this->connectors = new ArrayCollection(); }
Connector.php
/** * @ORM\ManyToOne(targetEntity="Post", inversedBy="connectors") * @ORM\JoinColumn(name="postId", referencedColumnName="id", onDelete="cascade") */ protected $post; public function setPost(\MyBundle\Entity\Post $post) { $this->post = $post; } /* * @return MyBundle\Entity\Post */ public function getPost() { return $this->post; }
w kontrolerze mam:
$connector_mapp = $em->getRepository('MyBundle:Connector')->findBy(array('menuId' => $request->get('idm'))); // idm kategorii przekazane w url
w twigu mam:
{% for c in connector_mapp %} <p>Post ID: {{ c.postId }} w kategorii: {{ c.menuId }}</p> {% endfor %} // rezultat np: Post ID: 151 w kategorii: 2 Post ID: 149 w kategorii: 2 Post ID: 148 w kategorii: 2
no i to mapowanie działa, np.: jak usune posta to usuwa mi również jego kategorie z tabeli connector.
ale za piernika nie wiem jak w tej pętli wyświetlić jeszcze informacje z tabeli posts


musze jakieś mapowanie jeszcze zrobić?
Prosze o pomoc.
Dzięki