![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cześć
![]() W bazie danych w tabeli user mam nazwy 'pl01', 'pl03','pl05' i każda z tych wartości może się równać '0' lub '1' dostarczam do funkcji stringa o konstrukcji np.:
Rozbijam strninga explode I teraz podstawiam sobie w pętli foreach
I teraz jak wiadomo, ładuje mi tylko ostatnią pętlę ![]() Jak uzyskać dane gdy 'pl01'=1 OR 'pl05'=1 ? Jak do wyników USER::where dodać 'pl01' z pierwszego rozbicia? Ten post edytował miccom 20.05.2018, 00:04:11 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zobacz: https://laravel.com/docs/5.2/queries#advanced-where-clauses
P.S. Coś mi się nie podoba Twoja struktura bazy :/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
A co mogę w niej zmienić?
A odnośnie zapytań to przestudiowałem to, bardziej chodzi mi o to, jak w kodzie rozwiązać te klauzule where mam tabelę user a w niej rekordy name, email, i 'pl01' do 'pl16' oznaczające województwa, gdzie user zapisuje, w jakich województwach jest obecny. Jak mógłbym to inaczej rozwiązać? Ten post edytował miccom 20.05.2018, 07:27:43 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tabela województwa, tabela użytkownicy i tabela użytkownicy województwa. Relacja wiele do wielu.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
viking, a za rączkę?
Tworze tabelę o nazwie wojewodztwa i w niej wbijam województwa z ich ID Tworzę tabelę użytkownicy i w niej id usera, email i jego dane Tworzę tabelę użWoj i w niej... No właśnie, co w niej dać? Ten post edytował miccom 20.05.2018, 09:52:12 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Id użytkownika oraz id województwa z kluczem głównym na obu kolumnach. Poczytaj trochę o takich powiązaniach.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ściągnąłem mysql Workbech, ale nadal nie wiem jak połączyć tabele tymi kluczami
![]() Przygotowałem sobie diagram, potem export to sql i otrzymałem:
Czy powyższe dobrze wykonałem? Ten post edytował miccom 20.05.2018, 10:53:18 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
W tabeli `userWoj` możesz ustawić klucz podstawowy na parę kolumn: `userWoj` i `wojId`. Ale tak jak masz też jest w porządku.
Ogólnie taka struktura bazy, która idzie wszerz przez mnogość opcji, jest w 99% przypadków niewłaściwa i problematyczna. Tym bardziej u Ciebie, gdzie jak się domyślam chodzi tylko o istnienie lub nieistnienie relacji użytkownik-województwo. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
W tabeli `userWoj` możesz ustawić klucz podstawowy na parę kolumn: `userWoj` i `wojId`. Ale tak jak masz też jest w porządku. Ogólnie taka struktura bazy, która idzie wszerz przez mnogość opcji, jest w 99% przypadków niewłaściwa i problematyczna. Tym bardziej u Ciebie, gdzie jak się domyślam chodzi tylko o istnienie lub nieistnienie relacji użytkownik-województwo. Edytowałem nowe połączenia tabel, czy zaktualizowany plik sql jest ok? -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Tak, lepiej. Mógłbyś jeszcze trzymać się jednej konwencji, bo raz masz users, raz woj, razPiszeszTak, a_raz_tak. Indeksy unikalne nadałeś ręcznie? Bo nawet nie wiem czy one w dumpie się osobno pokazują dla klucza podstawowego. Jeśli ręcznie dałeś, to niepotrzebnie, bo klucz podstawowy sam w sobie jest unikalny z definicji.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
No tak, właśnie nie wiem czy pisać wielbłądzim czy z podkreślnikami, to samo dotyczy się nazewnictwa, users i woj
![]() ![]() Niby nic ważnego, ale ułatwia pracę, muszę się nauczyć raz a porządnie co i jak stosować. Indeksy nadałem w workbench ale w większości same były już zaznaczone jako PK, a co do users_has_woj to workbench sam tak ustawił ![]() Czyli to będzie dobra architektura bazy?
Ok, więc skleciłem takie zapytanie:
I działa dla users_has_voivodeship.voivodeship_id_voivodeship = 5, ale jak wybrać jeszcze pozostałe które zostały dostarczone stringiem? Ten post edytował miccom 20.05.2018, 12:55:07 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest dobrze bo w ostatniej tabeli nie zdefiniowales kluczy obcych.
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
A jak to stworzyć przy użyciu workbench?
-------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A google działa? https://dev.mysql.com/doc/workbench/en/wb-f...ationships.html
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Wpisuję many-to-many, dodaje mi się kolejna tabelka z relacjami, co mam jeszcze dodać? Ponawiam pytanie. Jak wyciągnąć dane przyporządkowane do szukanych id województw? Dostarczam listę id województw w formacie string np. 1|5|9 rozbijam explodem i mam pojedyncze rekordy Jak skonstruować zapytanie- aby wyciągnąć dane gdzie users_has_voivodeship.voivodeship_id_voivodeship = 1 OR users_has_voivodeship.voivodeship_id_voivodeship = 5 OR users_has_voivodeship.voivodeship_id_voivodeship = 9 ? Nikt nie pomoże? Kombinuję coś w ten deseń...
Tylko jak teraz wtłoczyć do tablicy $users kolejne wyniki z następnego województwa? -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
użycie `whereIn`?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję bardzo.
Działa -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:41 |