Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny][Symfony2][SF2] Relacja 1:n - wstawianie rekordu
michau85
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 3.01.2010

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


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();


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


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");
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 19:00