Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][SF][SF2] Problem z zapisaniem relacji ManyToOne
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%)
-----


Używam Bundla SonataAdmin, mam 2 encje, Product i Category, a w nich

Product:
  1. /**
  2. * @ORM\OneToMany(targetEntity="Category", mappedBy="product", cascade={"persist"})
  3. */
  4. protected $categories;


Category:
  1. /**
  2.  * @ORM\ManyToOne(targetEntity="Product", inversedBy="categories", cascade={"persist"})
  3.  * @ORM\JoinColumn(name="product_id", referencedColumnName="id")
  4.  */
  5. protected $product;


W ProductAdmin.php gdy użyję podstawowego typu pola obsługującego tę relację:
  1. ->add('categories')


Wyświetla się bardzo ładny jQuerowy multiple select w postaci tagów reprezentujacych produkt (z krzyżykiem do usuwania).
Problem w tym, że gdy się tam doda/usunie produkty to po zapisaniu zmiany nie są zachowane. Walidacja przechodzi mimo, że to jest pole wymagane. Czy coś jeszcze powinienem dodać w konfiguracji encji żeby ta relacja została zapisana?

Ten post edytował Foxx 31.10.2013, 17:41:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Foxx
post
Post #2





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

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


(IMG:style_emoticons/default/smile.gif) Napisałem ten przykład analogicznie do mojego prawdziwego kodu żeby nie musieć tłumaczyć czym co jest, faktycznie niefortunnie. Załóżmy jednorazowość kategorii.

Co do getterów i setterów to mam to, co generuje polecenie doctrine:generate:entities czyli w tym przypadku getter i adder:

  1. public function addCategory(\Acme\FrontendBundle\Entity\Category $categories)
  2. {
  3. $this->categories[] = $categories;
  4.  
  5. return $this;
  6. }


Po dotychczasowym researchu widzę, że jest jakiś problem z setterem, ale nigdzie żadnego konkretnego wyjaśnienia nie widzę. Nie rozumiem dlaczego ten bundle udostępnia taki typ pola, ale nie jest ono obsługiwane...

Ten post edytował Foxx 1.11.2013, 19:10:29
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: 12.10.2025 - 12:15