![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Przyjmijmy, że mamy table users zawierającą podstawowe informacje takie jak login i hasło.
W systemie jest kilka rodzajów użytkowników powiedzmy np. uczeń i nauczyciel. W tabeli user_profile przechowuje imię i nazwisko i taka tabela nadaje się zarówno dla user o typie konta "teacher" jak i "student". Teraz dochodzi typ "school". To też fizycznie użytkownik mający logi i hasło czyli wiersz w "users" ale nie jest mu potrzebny imię i nazwisko, a nazwa. W profile mogę mieć wszystkie 3 kolumny NULL (first_name, last_name, name) ale to nie o takie kwiatki chodzi. I teraz pytanie czy to jest jakiś pattern, jakie są dobre praktyki, nazewnictwo itp? Zastanawiam się jak np. w Laravel takie relacje dobrze ustawić bo Model user "hasOne" profil, ale może też "hasOne" nie profil, a "profil szkoły" gdybym przyjął różne tabele. https://laravel.com/docs/5.3/eloquent-relat...rphic-relations to raczej nie rozwiąże problemu bo to odwrotna sytuacja (poza tym mało się te rozwiązanie podoba ponieważ uniemożliwia narzucenie kluczy obcych). Ten post edytował markonix 22.09.2016, 19:57:58 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:19 |