Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][Symfony] Entities - dwukrotna relacja nie działa
Foxx
post
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Załóżmy, że mamy obiekt Produkt, który ma KrajProdukcji i KrajPrzeznaczenia. Logiczne jest, że w takiej sytuacji robię encję "Kraj" i będę chciał ją przypisać do dwóch pól obiektu Produkt. Zrobiłem tak i jednak mi to nie działa, dostaję w debuggerze (bez błędów):

Cytat
Acme\ProductBundle\Entity\Product
The mappings Acme\ProductBundle\Entity\Product#KrajProdukcji and Acme\ProductBundle\Entity\Kraj#Products are incosistent with each other.

The mappings Acme\ProductBundle\Entity\Product#KrajPrzeznaczenia and Acme\ProductBundle\Entity\Kraj#Products are incosistent with each other.


No i widzę ten problem, że encja Kraj ma pole $products, które ma mappedBy="kraj" a przecież w Product nie ma pola "kraj" tylko jest krajPochodzenia i krajPrzeznaczenia, ale nie wiem jak to poprawnie zrobić.

Encja Product wygląda tak:

  1. /**
  2.   * @ORM\ManyToOne(targetEntity="Kraj", inversedBy="products")
  3.   * @ORM\JoinColumn(name="kraj_pochodzenia_id", referencedColumnName="id")
  4.   */
  5. protected $krajPochodzenia;
  6.  
  7. /**
  8.   * @ORM\ManyToOne(targetEntity="Kraj", inversedBy="products")
  9.   * @ORM\JoinColumn(name="kraj_przeznaczenia_id", referencedColumnName="id")
  10.   */
  11. protected $krajPrzeznaczenia;


A encja Kraj wygląda tak:

  1. /**
  2.   * @ORM\OneToMany(targetEntity="Product", mappedBy="kraj")
  3.   */
  4. protected $products;


Ten post edytował Foxx 11.04.2013, 13:45:31
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: 25.12.2025 - 09:36