Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP+Symfony] mapowanie trzech tabel
dopelganger
post
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


hej
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
  1. /**
  2. * @ORM\OneToMany(targetEntity="Connector", mappedBy="post", cascade={"all"})
  3. */
  4. protected $connectors;
  5.  
  6. public function getConnectors() {
  7. return $this->connectors;
  8. }
  9.  
  10. public function __construct(){
  11. $this->connectors = new ArrayCollection();
  12. }


Connector.php
  1. /**
  2. * @ORM\ManyToOne(targetEntity="Post", inversedBy="connectors")
  3. * @ORM\JoinColumn(name="postId", referencedColumnName="id", onDelete="cascade")
  4. */
  5. protected $post;
  6.  
  7. public function setPost(\MyBundle\Entity\Post $post) {
  8. $this->post = $post;
  9. }
  10. /*
  11. * @return MyBundle\Entity\Post
  12. */
  13. public function getPost() {
  14. return $this->post;
  15. }


w kontrolerze mam:
  1. $connector_mapp = $em->getRepository('MyBundle:Connector')->findBy(array('menuId' => $request->get('idm'))); // idm kategorii przekazane w url


w twigu mam:
  1. {% for c in connector_mapp %}
  2. <p>Post ID: {{ c.postId }} w kategorii: {{ c.menuId }}</p>
  3. {% endfor %}
  4.  
  5. // rezultat np:
  6. Post ID: 151 w kategorii: 2
  7. Post ID: 149 w kategorii: 2
  8. 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 (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) .
musze jakieś mapowanie jeszcze zrobić?

Prosze o pomoc.
Dzięki

Ten post edytował dopelganger 9.05.2017, 13:32:44
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 03:57