Ich habe Laravel Anwendung, wo BenutzerWie wird die Adresse in der Datenbank gespeichert?
area
region
city
locality
street
Jedes Feld ist einfach integer (Fremdschlüssel zur Tabelle, die alle Adressen mit ihren Eltern-Kind-Beziehung enthält) Adresse auswählen können. Zum Beispiel hat der Bereich und 2 cities
.
Ich möchte diese Informationen in mysql-Datenbank speichern, aber es gibt einige Probleme.
Es gibt eine Menge Code, der gut funktioniert und alle Updates für alle Modelle verarbeitet (speichert Informationen darüber, was mit Diffs von Updates geändert wurde).
Wenn ich diese Felder bei 5 verschiedenen Spalten speichere, muss ich Code in verschiedenen Teilen der Anwendung hinzufügen, um sie zu verarbeiten (auswählen, aktualisieren, anzeigen), da dieser Code vom Feldtyp (Text, Ganzzahl, Auswahl) abhängt usw. gibt es eine separate Konfiguration, die diese Spalten beschreibt).
ich möchte es speichern, in json Spalte wie diese
{"area": 10, "city": 335}
Dann kann ich einfach neue columns
hinzufügen, aber was Geschwindigkeit dieser Lösung, da diese Felder werden in Filter verwendet werden, und es wird bei mindestens 50.000 Zeilen in der Tabelle.
Laravel verwaltet intern * cast * -Felder und ruft JSON aus der Tabelle als PHP-Array ab und speichert PHP-Array als Json, aber stellen Sie in der Migrationsdatei sicher, dass der Feldtyp Text ist. –