it-swarm.com.de

Kundenspezifische Taxonomie: gleiche Begriffe, jedoch für unterschiedliche Jahre

Ich baue ein Personenverzeichnis in einer Pension auf. Was ich tun möchte, ist die Möglichkeit, jeder Person die folgenden Metadaten zuzuweisen:

  1. Zimmernummer
  2. Parkplatznummer
  3. Führungspositionen

Der Haken ist, dass jedes von diesen mit einem spezifischen Jahr verknüpft ist, d. H .:

  • Im Jahr 2010 wohnt John Smith in Raum 2, hat Parkplatz 5 und ist Mitglied der Hausverwaltung.
  • Im Jahr 2011 wohnt John Smith in Raum 42, hat Parkplatz 1 und ist der Hausführer.

Außerdem muss ich in der Lage sein , Personen nach diesen Eigenschaften anzuzeigen , dh ich möchte eine Liste aller "Hausrats" -Mitglieder oder aller sehen Personen, die in Raum 1 gewohnt haben.

Meine ursprüngliche Idee war es, einen benutzerdefinierten Beitragstyp "Residents" mit einer benutzerdefinierten (hierarchischen) Taxonomie "Metadaten" zu erstellen, der die folgenden Begriffe enthält:

  • 2010
    • Zimmer
      • 40
      • 41
      • 42
      • usw
    • Parkplatz
      • 1
      • 2
      • 3
      • usw
    • Führung
      • Hausführer
      • Hausrat
      • Abschnittsmonitor
  • 2011
    • Zimmer
      • (wie oben)
    • Parkplatz
      • (wie oben)
    • Führung
      • (wie oben)

Während dies mir erlauben würde, Bewohner nach Raum, Parkplatz und Führung in einem bestimmten Jahr zu filtern, möchte ich in der Lage sein, Bewohner nach zu filtern eine Raumnummer für alle Jahre, dh anstatt alle Bewohner, die 2010 in Raum 2 gelebt haben, anzuzeigen (dies ist lediglich ein Fall der Filterung nach 2010) > Raumnummer> 2), ich möchte alle Bewohner sehen können, die in den letzten 10 Jahren in Raum 2 gelebt haben.

Ist dies nur ein Fall, in dem ich ein Seitenleisten-Widget finde, mit dem ich einen bestimmten Teilbegriff aus mehreren übergeordneten Begriffen in der Taxonomie "Metadaten" auswählen kann (z. B. "Raum 1" aus "2010", "2011", "2012" auswählen kann)? usw.) oder liegt hier ein größerer architektonischer Fehler vor?

Bitte lassen Sie mich wissen, wenn mir etwas unklar ist. Danke im Voraus!

4
Johannes

Sie könnten zwar alles mit Kategorien erreichen, aber ist das eine gute Idee? Wenn alle Hauptkategorien 2010, 2011, 2012 sind und jede von ihnen Unterkategorien mit den Namen Room1, Room2 usw. hat, hätten Sie in der Tat eine einfache Möglichkeit, Ihre Suche nach Jahr oder Raum durchzuführen. Die Suche nach Jahr wäre so einfach wie das Abfragen der entsprechenden Kategorie. Die Suche nach Raum impliziert, dass zuerst ein Array oder eine Liste von Katzennummern erstellt wird, indem alle Kategorien durchlaufen werden, um alle Kategorien mit dem Namen "Raum1" oder "Raum2" für alle Jahre zu finden. Mit der Liste in Händen wäre die Suche sehr einfach durchzuführen.
All dies ist in Ordnung und könnte schnell umgesetzt werden. Die einzige Befürchtung, die ich für Sie habe, ist, dass diese Lösung wirklich ein Hack ist und nicht sehr "logisch", was Ihr Datenmodell betrifft. Erstens: Werden die Zimmer nur jedes Jahr vergeben? Werden sie nicht nach Perioden zugeordnet? Das Wiederholen von Kategorien wie dieser ist keine saubere Methode zur Darstellung von Daten, da Sie Informationen wiederholen würden. Besser wäre es, benutzerdefinierte Beitragstypen für Räume, Parkplätze usw. zu erstellen und sie den Benutzern für jedes Jahr zuzuweisen, z. B. ein Jahr und eine Einrichtung über ein benutzerdefiniertes Feld zuzuordnen. Alle benutzerdefinierten Felder haben eindeutige IDs, die denselben Primärschlüssel wie Beiträge verwenden, sodass sie immer klar voneinander getrennt sind. Sie könnten also Felder haben, die ein Jahr und die ID einer Einrichtung mit so etwas wie Y2010: F223 verknüpfen (223 ist die ID des Parkplatzes usw.). Dann wäre es einfach, eine Suche unter Verwendung der benutzerdefinierten Feldwerte durchzuführen (Suche nach Y2010, Y2011 oder F21 usw.).

1
barakadam