Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 3 Dołączył: 11.06.2015 Ostrzeżenie: (0%)
|
Pytanie w sumie trochę z PHP trochę z MySQL, a trochę ogólne.
Mam tabele w bazie w których powiązania robię po INT ~id~. np: articles.author_id - user.id articles.category - category.id itp itd Często mam potrzebę pobrania danych, które znajdują się w różnych tabelach - normalne. Przykładowo jest artykuł, pobieram wszystkie dane, no i przydałyby się także dane autora. Mam jego id (np author_id z tabeli articles), ale przydała by się także nazwa Co byście radzili w tej sytuacji? dwa przypadki: 1. potrzebuję tylko nazwę tego usera (np do jej wyświetlenia) - reszta mnie nie obchodzi 2. potrzebuję więcej danych niż tylko nazwa (np potrzebuje nazwę, avatar, datę rejestracji i ostatniej wizyty - jak np na forum) Przypadek 1 ----------------------- a.) Pobieram nazwę usera (np user.name) korzystając z INNER JOIN b.) używam jakiejś funkcji, która pobierze tą nazwę np :
c.) Nic nie łącze , nie używam żadnych funkcji. Klucze obce robię na zasadzie articles.author - user.name (varchar - czyli mam gotowego stringa z nazwą usera w tabeli articles), a ponieważ używam InnoDB mogę sobie użyć ON UPDATE, ON DELETE - CASCADE i nie przejmuje się co będzie jak user zmieni nazwę Przypadek 2 ----------------------- a.) Jak w przypadku 1. Łącze tabele JOINem pobierając resztę danych b.) używam sobie funkcji w taki sposób
c.) W przeciwieństwie do c - przykład 1 , tutaj trzeba coś złączyć/wydobyć dodatkowe dane. Więc klucze obce lepiej pewnie zrobić na intach ze względu na wygodę i oszczędność miejsca. Czyli napisałem sobie ten podpunkt w związku z niczym. Ewentualnie jakie inne rozwiązanie byście polecili? Edit: W sumie w nawiązaniu do powyższych -rozwiązanie (IMG:style_emoticons/default/cool.gif) - co myślicie o ustawieniu w kontrolerze obiektu jako pola w widoku ? : tzn:
i później w widoku w jakimś szablonie artykuly.html
Ten post edytował RysQ 11.06.2015, 14:33:54 |
|
|
|
RysQ pobieranie danych |różne tabele | inner joiny | funkcje php 11.06.2015, 14:32:31
nospor Rozwiązanie z pobieraniem danych usera w petli to ... 11.06.2015, 14:38:06
RysQ Dzięki za szybko odpowiedź.
Tak tez mi się wydawa... 11.06.2015, 14:57:27
nospor Poraz kolejny nie tedy droga.
Pomijajac juz fakt, ... 11.06.2015, 15:00:28
RysQ Ok. To robię JOINA . Jeszcze raz dzięki za pomoc.
... 11.06.2015, 15:03:23
Pyton_000 Co z tego skoro i tak robisz FK, wię i tak będzie ... 11.06.2015, 15:20:07
RysQ No byłaby różnica. Bo przypadku kiedy chciałbym do... 11.06.2015, 15:38:31 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 00:16 |