Optimales DB-Schema
-
12-12-2019 - |
Frage
Würde das folgende Schema beispielsweise mit eloquentem ORM funktionieren oder müsste ich auch die JOIN-Tabellen hinzufügen?
ISSUES(ID, ORGANIZATION_ID, DATE, TIME, CATEGORY_ID, TYPE_ID, ISSUE_DETAILS_ID)
ISSUE_DETAILS(ID, NAME, STATUS, EMAIL)
ORGANIZATIONS(ID, NAME, ADDRESS, CONTACT)
CATEGORIES(ID, CATEGORY)
TYPES(ID, TYPE, CATEGORY_ID)
Lösung
Das einzige, was ich wahrscheinlich anders machen würde, ist das issue_id
fremdschlüssel auf dem issue_details
tisch, damit Sie einen haben könnten eins zu eins Beziehung.
Wenn Sie also Eloquent verwenden würden, könnten Sie so etwas tun.
echo $issue->details->name;
Ich bin mir nicht ganz sicher, was Sie in der Detailtabelle speichern werden, vielleicht gibt es mehrere Details für ein Problem, in welchem Fall Sie eine haben würden viele zu viele Beziehung.
Andere Tipps
Zusätzlich zu dem, was Jason vorgeschlagen hat, könnten Sie auch das entfernen category_id
von der issues
tabelle seit jedem type
hat bereits eine category
, Sie haben bereits über den Typ Zugriff auf die Kategorie.
also. $issue->type->category