![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Więc chce zrobić coś takiego
Mam 2 tabele users i users_email_addresses i teraz chce na stronie mieć 2 inputy - nazwa użytkownika - email użytkownika I teraz tak stworzyłem sobie Entity
i
I teraz w deklaracji formularza mam coś takiego
Jako że przy dodawaniu nowego usera nie ma żadnego adresu email to pole input się nie wyświetla więc na hama dodałem (tak wiem że na stronie jest opcja dodawania pola przez JS)
I wszystko było by ok gdyby nie to że po wysłaniu formularza dostaje komunikat Cytat Catchable Fatal Error: Argument 1 passed to Test\UserBundle\Entity\Users::setEmail() must be an instance of Test\UserBundle\Entity\UsersEmailAddresses, array given.. No i teraz pytanie brzmi czy dobrze się do tego zabrałem (IMG:style_emoticons/default/questionmark.gif) Bo jak mam przekazać obiekt UsersEmailAddresses w sytuacji kiedy chce aby najpierw user wpadl do bazy a pozniej adres email z id_users wczesniej dodanego. Chyba że to działa insert (email) id = insert (users) update (email) set users_id = id (a tak podejrzewam że to działa) Ps Sorki za może głupie pytanie ale z ORM do tej pory miałem nie wiele wspólnego. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Gdy tworzysz formulasz UsersType z polem
('email', 'collection', array( 'type'=> new UsersEmailAddressesType(), )) do tego pola przypisywane są powiązane Entity UserEmailAddresses. Gdybyś miał juz UserEmailAddresses w relacji do Users, widniałyby w formularzu. Jako, że ich fizycznie nie ma, zatem ich nie przypisuje. Rozwiązanie brzydkie: Zanim utworzysz formularz usersType, stwórz entity Users, któremu dodasz entity UserEmailAddresses $user = new Users(); $user->addUserEmailAddresses(new UserEmailAddresses()) $form = $this->createForm(new UserType(), $user); wtedy powinieneć zobaczyć chciane pole Email (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 19:58 |