Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony] Dynamiczne tworzenie tabel/kolumn w bazie danych
Diwi
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Diwi
post
Post #2





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Pomysł jak pomysł, może nie idealny, ale jedyny, który pasuje do potrzeb:

System polega na tworzeniu formularzy zgłoszeniowych na różnego rodzaju wydarzenia i zbieranie danych o uczestnikach. Każdy formularz może być dosłownie "zbudowany" w panelu administracyjnym poprzez dodawanie elementów.

No i teraz potrzebuję mieć możliwość później w panelu administracyjnym wyświetlić w tabeli wszystkie dane, łatwo je posortować i wyszukiwać według konkretnych kryteriów (wielu naraz). Dlatego właśnie zdecydowałem się na tworzenie nowych tabel i kolumn pod każdy element formularza, bo to daje mi możliwość w łatwy sposób wykonywać w/w operacje, i własnie w tym miejscu odpadła opcja wykorzystania tabeli key => value.

Jeśli ktoś ma pomysł jak to za pomocą MySQL'a zrealizować inaczej, łatwiej, tak żeby nie modyfikować bazy danych dynamicznie, to stawiam duże duże piwo biggrin.gif bo będzie mi to też potrzebne w innym projekcie (w którym nie będą dodawane dynamicznie tabele, lecz kolumny)
Go to the top of the page
+Quote Post

Posty w temacie


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 - 10:39