[Symfony] Relacje, drzewo checkboxów (symfony 3) |
[Symfony] Relacje, drzewo checkboxów (symfony 3) |
27.02.2018, 19:03:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Witam.
W skrócie: chcę stworzyć drzewo checkboxów (zagnieżdżone checkboxy) Opis: firma oznacza obszar działania (to są checkboxy: kraj, województwo, powiat). Chcę wyświetlić to w ten sposób: + Kraj 1 - województwo 1 * powiat 1 * powiat 2 * .... - województwo 2 *.... + Kraj 2 - województwo 1 (dla danego kraju) Kod: https://gist.github.com/anonymous/666b758bf...6ae02c94931c4eb I teraz najważniejsze: tworzy się tabela many2many dla companies_countries. Dane są przechowywane. Ale jak przechować dane w taki sposób, żeby było wiadomo, że firma X obsługuje powiat ZZ oraz XX, województwo YY oraz CC oraz kraje np. Polska i Austria? Dodam, że później będę wyszukiwał firmy np. po obsługiwanych powiatach itd. Czyli dwa, trzy problemy: 1. Jak powinny wyglądać poprawne relacje? Jak powinna wyglądać poprawna struktura bazy danych? 2. Jak wyświetlić drzewo checkboxów? Tu oczywiście pewnie zabawa w twigu. Wiem, że kod jest niekompletny i kiepski ale serio już nie wiem jak to rozwiązać |
|
|
27.02.2018, 19:59:20
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
Tutaj masz cos podobnego
http://shout.setfive.com/2014/10/24/symfon...in-a-hierarchy/ Struktura powinna wygladac tak: Tabela kraj Kolumny id name Tabela wojewodztwo Kolumny id name kraj_id(relacja do kraju) Tabela powiat Kolumny id name wojewodztwo_id(relacja do wojewodztwa) |
|
|
27.02.2018, 21:13:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
@rad11 ale tak jest. Sprawa o której mówię to w jaki sposób zapisać/przechowywać w bazie dane dla firmy czyli to co wybrał użytkownik. Zobacz, że nie uwzględniłeś tego jak zrobić relacje firma -> obsługiwany obszar (kraj, województwo, powiat) tak aby móc zapisać w bazie informacje, które z tych obszarów obsługuje firma.
A dwa, że w podanym przykładzie jest ChoiceType, a to powinno być EntityType bo przecież przekazujemy tam encje, prawda? Ten post edytował newbie007 27.02.2018, 21:15:36 |
|
|
28.02.2018, 07:14:29
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Powinieneś zapisywać tylko ostatni poziom czyli id_powiatu. Po nim dojdziesz do województwa, a po nim natomiast do kraju.
|
|
|
28.02.2018, 08:12:09
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
@phpion czyli powinna istniec relacja many2many companies -> counties (powiat; tabela np. companies_counties) gdzie zapisywane jest ID firmy i powiatu.
1. Jak to rozwiazac z zaznaczonymi checkboxami? Chce wyswietlac formularz ktory umozliwialby zapisanie, to za pomoca JSa po prostu zrobic tak ze jesli zaznaczyl powiat to wyzej wojewodztwo i kraj rowniez sie zaznaczaja ale nie zapisuja w bazie skoro przechowujemy tylko dane powiatu? 2. Co jesli chce pozniej stworzyc wyszukiwarke i uzytkownik wybierze tylko wojewodztwo lub kraj, czyli chce poznac wszystkie firmy obslugujace dane wojewodztwo czy kraj? Nie poda wiec powiatu... |
|
|
28.02.2018, 17:29:31
Post
#6
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
1. Zaznaczasz tylko w celu poglądowym, w bazie zapisujesz tylko powiat. Jak to zrobić w JS - zależy jaką będziesz miał strukturę HTMLa. W jQuery powinieneś to ogarnąć bez większego problemu.
2. Ktoś wybiera województwo, masz w bazie powiązania wojewodztwo-powiat wiec jesteś w stanie wyciągnąć powiaty. Analogicznie dla kraju. Wiesz jakie ma województwa i jakie są w nich powiaty. Teraz pytanie czy wyszukiwarkę oprzesz na złączeniach tabel i warunkach czy od razu na where firmy_powiaty.id_powiatu in (lista, powiatów, według, kryteriów, wyszukiwania) ale na to pytanie musisz odpwiedziec sobie sam jak będzie Ci wygodniej i co będzie wydajniejsze. |
|
|
7.03.2018, 06:39:14
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
@phpion
1. jak pobrać kraje -> województwa -> powiaty tak żeby to były checkboxy i zagnieździć jedno w drugim? mogę napisać na PW? chętnie zapłacę za te rozwiązanie mimo, że to robie do szuflady ale nie mam pojęcia jak to rozwiązać |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 15:57 |