Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sens robienia tabeli w bazie dla niezmienialnych danych
Forum PHP.pl > Forum > Bazy danych
Aver4
Cześć, robie apkę typu organizer i zastanawiam się nad tym czy tworzyć osobną tabelę w bazie dla modelu PRIORYTET. Wartości (czyli np. niski, normalny wysoki) nie będą się zmieniać więc czy opłaca się tworzyć tabelę w bazie do tego czy lepiej zapisać to gdzieś w aplikacji. Zamierzam pisać w Laravelu.
viking
Jak nie ma innych powiązań tylko występuje w jednej kolumnie to nie ma większego sensu. Ja robię to w PHP jako SPLEnum żeby ładnie na obiektach pracować, a w bazie może być enum, int jak wygodnie.
Aver4
Powiązania będa gdyż zadania będą powiązane z priorytetami. Myślałem po prostu aby w tabeli 'zadania' mieć pole priorytet typu int. A potem odzczytywać z aplikacji konkretne wartości. Ale chyba zrobie normalnie tabelę, będzie przejrzyściej no i może kiedyś te dane będą modyfikowane w jakiś sposób..
mmmmmmm
1. Dane niezmienne nigdy nie są "niezmienne". smile.gif
2. Spójność danych

Temu optowałbym za bazą.
markonix
Ja lubię takie mini konfiguracje trzymać w jakimś nadrzędnym kontrolerze.
Ma to kilka plusów:
- o wiele szybciej jest dodać pole do klasy aniżeli robić tabelę i model do tego
- łatwo edytować
- ustalasz format tablicy ręcznie
- jest też szybciej zrobić jakiś wyjątek, np. jeżeli jeden użytkownik miałby mieć o jeden priorytet więcej do wyboru to wystarczy prosty if w konstruktorze, robiąc to na bazach już musiałbyś się pokusić o drugą tabelę
- łatwy dostęp ($this->), w CI dostęp jest także w widokach choć staram się przekazywać jawnie taką zmienną aby była dostępna pod $var.
Do minusów:
- problem jest z dostępem do takiej tablicy z modeli (nie wiem jak w Laravel ale w CI troszkę trzeba się pomęczyć)
- ogólnie brzydko to wygląda gdy w takich kluczowych plikach są takie "własne wartości", pół biedy jak po angielsku wink.gif
Aver4
Ok, dzięki za odpowiedzi, póki co zostanę chyba przy opcji z tabelą.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.