Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][Symfony2][SF2] Relacja 1:n - wstawianie rekordu
Forum PHP.pl > Forum > PHP > Frameworki
michau85
Witajcie. Proszę o pomoc. Korzystam z Doctrine i mam taki oto problem. Posiadam dwie tabele: Panstwo i Kontynent połączone relacją jeden do wielu. W tabeli kontynent mam rekord Europa. Jak dodać do tabeli Państwo rekord z przypisanym już kluczem obcym (Europa)? Mam taki kod jak poniżej,. który wstawia za każdym razem nowy rekord do dwóch tabel co jest złym rozwiązaniem, bo Europa ma występować tylko raz. Nie wiem jak sobie poradzić, bo symfony żada obiektu jako argumentu dla metody SetKontynent(). Poproszę o pomoc
  1. $p=new Panstwo();
  2. $kon=new Kontynent();
  3. $kon->setNazwa('Europa');
  4. $p->setName('Ros');
  5. $p->setKontynent($kon);
  6. $em = $this->getDoctrine()->getManager();
  7. $em->persist($kon);
  8. $em->persist($p);
  9. $em->flush();


kapslokk
Musisz sprawdzic czy europa juz istnieje w bazie i jesli tak to pobrany rekord ustawic w $p->setKontynent($kon);
Czyli mniej wiecej tak:
$kon = $em->getRepository("nazwa_entity")->findOneByNazwa("Europa");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.