Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%)
|
chce dodać dane do dwóch tabel z jednego formularza
formularze wyświetlałem za pomoca konstrukcji $this->mergeForm($form2); w form podstawowym, ale nie miałem pojęcia co z tym potem zrobić bo wszystkie pola miały nazwę od pierwszego formularza i nie wiedziałem jak pobrać dane potem wpadłem na taki pomysł aby w kontrolerze dać dwa razy $form1 = new Form1(); $form2 = new Form2(); Wszystko działa, wyświetla się tak jak chce, potem pobieram i zapisuje dane z Form1 do tabeli 1. I tutaj problem - jak mam podać do $form2 jakie jest id do rekordu z tabeli 1 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Tabela 2 która pobiera dane z $form2 posiada klucz obcy do tabeli 1 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 2.02.2009 Ostrzeżenie: (0%)
|
Możesz to zrobić na kilka sposobów.
Najłatwiejszym rozwiązaniem będzie chyba jeśli zrobisz to tak: Kod $objectFromForm1 = $form1->save(); $form2->setValue( 'foreignKey', $objectFromForm1->getForeignKey() ); $form2->save(); przy czym metody setValue() na formie nie istnieje. Będziesz ją musiał dodać do BaseFormPropel.class.php tak jak jest to pokazane na blogu: http://blog.adryjanek.eu/2009/01/17/symfon...unction-part-2/ . To powinno rozwiązać Twój problem. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%)
|
dzięki działa
|
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 13:01 |