Ich baue eine Website, die eine Gemeinschaft für Mietimmobilien ist, wobei die Kernfunktionalität sich auf städtenspezifische Diskussionen konzentriert. Es wird Nutzerdaten geben, die die Städte angeben, in denen sie sachkundig sind, sowie ihre Beziehung zu diesen Städten (derzeit dort lebend, früher dort lebend usw.). Außerdem werden Benutzer Städte abonnieren, in die sie investieren möchten, aber in denen sie nicht sachkundig sind. Alle Städte werden als Kategorien angelegt, mit einem benutzerdefinierten Feld zur Kennzeichnung ihrer geocodierten Daten, damit Benutzer Städte auf einer Karte durchsuchen können.
Wo ich noch unschlüssig bin, ist die Frage, wie ich dies aus Sicht der Datenbankeffizienz strukturieren sollte. Wenn du dich auf einer Stadtseite befindest, werde ich einen Feed anzeigen, der die „Mitglieder-Experten
Das mag in den frühen Tagen der Fall gewesen sein, aber heutzutage ist es genau umgekehrt. Wir haben sogar unsere eigenen Plugins von benutzerdefinierten Feldern auf eigene Tabellen umgestellt, wo es sinnvoll war, wie beim Umfrag-Plugin und beim Abstimmungs-Plugin.
Plugins mit komplexen Datenmodellen sollten ihre eigenen Modelle, Tabellen, Beziehungen und Migrationen erstellen. Das ist viel wartbarer und bietet eine hervorragende Leistung. Achten Sie nur auf die N+1-Problematik
Ah, okay, fantastisch. Schön, dass ich dann doch gefragt habe. Gibt es eine empfohlene Methode, um Kernmodelle innerhalb meines Plugins zu ändern?
Ich möchte einige benutzerdefinierte Definitionen und Beziehungen hinzufügen, z. B. eine hasmanythrough-Beziehung mit meinen neuen Tabellen, und bin mir nicht ganz sicher, wie ich das am besten anstelle, außer Funktionen in meinem neuen Modell aufzurufen, wobei ich die IDs der Kategorie, des Benutzers usw. übergeben muss.
Ich habe diesen Beitrag gefunden, aber es sieht so aus, als hätte er dort keine Antwort erhalten.