![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 29.04.2019 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam takie pytanko (IMG:style_emoticons/default/wink.gif)
Przykładowo: Mysql: Mamy 3 tabele: documents1, documents2, documents3 (to trzy różne tabele, bo prawie wszystkie kolumny są różne). Następnie mamy kolejną tabele np. files, która zawiera kolumny, mogące być puste, z kluczami do tych dokumentów, czyli document1_id, document2_id, document3_id. I to tylko przykładowo są to 3 tabele, ale możliwe, że w przyszłości zostaną dodane jeszcze jakieś tabele. Pytanie pierwsze: czy to dobry sposób na dodawanie kluczy obcych? Do tabeli files trzeba będzie po prostu dodawać kolejne kolumny _id ? W klasach po stronie php: Document1/2/3 implementują interfejs z metodą, która zwraca nazwę kolumny klucza obcego, np iDoc. Kod interface iDoc { getColumnName(); } Klasa File ma gettery i settery np: Kod getDocument1(){ $this->document1 = Document1::findById($this->document1_id) } itd. oraz metode statyczną Kod findByDoc(iDoc document) { //no i tu zapytanie WHERE $document->getColumnName()=$document->id } Pytanie 2: Czy to jest właściwe pobieranie plików przez tą kolumnę? Czy jest inna, lepsza metoda? Pytanie 3: Jak teraz pobrać dokument z klasy plik? Bo oczywiście można to zrobić jakąś metodą i sprawdzać if'ami: Kod getDoc(){ if($this->document1){ return $this->document1; }else {} //itd } ale przy dochodzeniu tabel będzie trzeba tą funkcję przerabiać. Jaka jest lepsza droga? Może pytania łatwe dla tych zaawansowanych, ale jestem samoukiem i chciałbym się dowiedzieć jak to wygląda poprawnie, a nie żeby działało i jak mi się wydaję (IMG:style_emoticons/default/smile.gif) Dzięki z góry za odpowiedzi (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:16 |