![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebuję zrobić formularz dodający wiele rekordów do bazy na raz. Jak to zrobić w Symfony 2 ? Znalazłem taki oto tutorial ale to chyba nie to: http://symfony.com/doc/2.0/reference/forms...collection.html Aby otrzymać taki formularz muszę w TWIGu też coś zmieniać czy tylko w samym wyglądzie formulrza i w akcji kontrolera ? Dzięki |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
To jest dokładnie to, czego potrzebujesz.
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok, tylko że w FormBuilderze mam typ "entity" a nie "collection" ponieważ mam dzięki temu dostęp do listy wyboru z tabel join-owanych.
miałem tak:
i zmieniłem na tak:
ale to nie działa (w sensie że znikło mi teraz pole wyboru) Ten post edytował damianooo 11.03.2014, 11:53:11 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast entity ustaw collection z flagą allow_add (+ allow_delete?) i ustawionym typem (EDIT: ) i w FormBuilderze załaduj odpowiednie encje (EntityManager przekaż jako opcję)
Ten post edytował pyro 11.03.2014, 12:02:09 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak:
typ ma być "entity" ? a kontroler mam następujący:
Ten post edytował damianooo 11.03.2014, 12:03:38 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie. chcesz mieć zbiór formularzy, a nie zbiór list rozwijalnych:
Ten post edytował pyro 11.03.2014, 12:04:57 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tzn. chcę mieć tak:
rząd1 (pole: team1(typ:text) ; pole team2(typ:text) ; pole: matchday(typ:pole_rozwijalne) rząd2 (pole: team1(typ:text) ; pole team2(typ:text) ; pole: matchday(typ:pole_rozwijalne) rząd3 (pole: team1(typ:text) ; pole team2(typ:text) ; pole: matchday(typ:pole_rozwijalne) ... rząd20 (pole: team1(typ:text) ; pole team2(typ:text) ; pole: matchday(typ:pole_rozwijalne) button: submit Ten post edytował damianooo 11.03.2014, 12:08:52 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to właśnie Ci dokładnie podałem jak taki zbiór zainicjować ;p
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok, ale nie wiem czemu znikło mi teraz pole rozwijalne. Rozumiem że pozostałem pola formularza też muszę ustawić na typ "collection" ?
Nie zrozumiałem tego: Cytat i ustawionym typem (EDIT: ) i w FormBuilderze załaduj odpowiednie encje (EntityManager przekaż jako opcję)
Ten post edytował damianooo 11.03.2014, 12:15:23 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy to jest formularz edycji (która w tej kolekcji ma już jakieś dane) czy formularz tworzenia nowej encji?
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
formularz tworzenia (new). potrzebuję na stronie wyświetlić takich 20 , następnie wypełnić je danymi i klikając przycisk button ma mi zapisać to jako 20 nowych rekordów do bazy danych.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to wystarczy tylko zrobić to:
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok a co teraz z kontrolerem i widokiem ?
Próbowałem to zrobić tak:
ale to tak nie działa |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W kontrolerze nie tworzysz nowych formularzy. To w widoku tworzysz nowe formularze z pomocą prototypu i JS:
Kod {{ form_widget(form.something.vars.prototype) }}
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
właśniei chciałbym uniknąć js-a . W tym przykładzie z linka jest opisany ten właśnie sposób z zastosowaniem js. Nie da się tego zrobić inaczej ?
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to przecież masz prototyp. Wyświetl go 20 razy.
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
tak ?
nie działa ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Matko bosko! Czy Ty czytasz w ogóle o czym piszę? Nawet gotowy fragment kodu Ci podałem.
// EDIT Poza tym te "prototype" jest tutaj źle użyte. Dokumentacja nie boli. // EDIT 2 a od 0 do 20 jest 21 liczb a nie 20 jak na mój gust ![]() Ten post edytował pyro 11.03.2014, 12:47:49 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
21
![]() Wg przykładu z dokumentacji u mnie musiałoby to być tak:
ale to też nie tak ![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sam powiedziałeś, że w dokumentacji jest przykład z JS, a Ty nie chcesz używać JS.
Kurde. Po prostu wyświetl prototyp 20 razy. Gdzie tutaj widzisz jakąś filozofię ![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 15:53 |