![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 4 Dołączył: 22.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Czy w symfony można dynamicznie z poziomu kodu php (akcji w kontrolerze) dodawać nowe tabele/kolumny do tabel w bazie danych MySQL ? Oczywiście zrobienie zwykłego zapytania SQL nie jest problemem, jednakże po zmodyfikowaniu pliku schema.yml i wywołaniu Kod php symfony doctrine:build --all "Dynamicznie" stworzone tabele są usuwane. Potrzebne jest mi to do dosyć dynamicznego systemu obsługi danych pochodzących z konfigurowalnych formularzy. Można w nim tworzyć nowe formularze, dodawać do nich elementy (inputy,textarea, pole z datą itp. itd.) a następnie dane przesłane z formularza trafiają do bazy danych do dynamicznie tworzonych tabel (każdy formularz ma swoją osobną tabelę do przechowywania danych). Gdybym mógł to zastosowałbym rozwiązanie z tabelą o kolumnach key i value, niestety muszę mieć możliwość łatwego sortowania i wyszukiwania po paru kryteriach jednocześnie co uniemożliwia zastosowanie takiego rozwiązania (no chyba ze pobierałbym wszystkie rekordy, mapował na tablicę i wyszukiwał/sortował w czystym php, ale to samo w sobie jest bez sensu) Ten post edytował Diwi 12.08.2010, 15:17:07 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale to i tak wymagałoby tworzenia nowych kolumn dynamicznie, bo inaczej nie wyobrażam sobie takiej tabeli. A nie wystarczy Ci ID pola plus wartość podana przez użytkownika?Kod +-----------------------------+ Ostatnia tabela zawiera dane podane przez użytoniwka.
| Formularze | +----+------------------------+ | id | nazwa | +----+------------------------+ | 1 | Mój pierwszy formularz | +----+------------------------+ +---------------------------------------+ | Pola formularzy | +----+---------------+----------+-------+ | id | id formularza | typ | nazwa | +----+---------------+----------+-------+ | 1 | 1 | text | Imię | | 2 | 1 | textarea | Adres | | 4 | 1 | radio | Płeć | +----+---------------+----------+-------+ +---------------------------------+ | Predefiniowane wartości dla pól | +----+---------+------------------+ | id | id pola | wartość | +----+---------+------------------+ | 1 | 4 | Kobieta | | 2 | 4 | Mężczyzna | +----+---------+------------------+ +---------------------------------+ | Odpowiedzi | +----+---------+------------------+ | id | id pola | wartość | +----+---------+------------------+ | 1 | 1 | Krzysiek | | 2 | 2 | Mój adres domowy | | 3 | 4 | Mężczyzna | +----+---------+------------------+ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:29 |