[Freitextfelder] In der REST API verschwunden

Hallo,

ich habe ein ganz kurioses Problem. Am Freitag hatte ich der Tabelle “s_user_attributes” drei Freitextfelder hinzugefügt. Als ich einzelne Benutzer über die REST API abgefragt hatte, wurden diese Felder dort auch zurückgeliefert (jeweils mit dem Wert NULL).

Heute Morgen wollte ich mein PHP-Skript entsprechend erweitern und diese Atrribute mit übermitteln. Auf einmal werden sie aber über die API nicht mehr angezeigt. In Backend kann ich sie aber noch sehen und in der Datenbank sind sie ebenfalls angelegt.

Das Problem betriftt aber nur meine Freitextfelder. Bereits vorhandene werden über die API weiterhin übertragen.

Hat vielleicht jemand von euch eine Idee, wo das Problem liegen könnte? Vielen Dank im Voraus!

Hast du mal das Model neu generiert im Freitextfeld-Modul?

1 „Gefällt mir“

Nein, da in der Dokumentation steht, dies würde automatisch beim Anlegen passieren und sei “normalerweise” nicht nötig.

Die Tabellen sehen ja auch gut aus…

@DWilhelm83 schrieb:

Nein, da in der Dokumentation steht, dies würde automatisch beim Anlegen passieren und sei „normalerweise“ nicht nötig.

Die Tabellen sehen ja auch gut aus…

Ist es auch normalerweise nicht - aber bei dir gibt es ja ein unnormales Verhalten :wink:

Die Models werden beim Anlagen des Feldes neu generiert. Wenn die Felder nict in der API auftauchen, dann kennen die Models das Feld nicht. Ergo wird dein Model aus irgendeinem Grund alt sein. Kann mir eigentlich nur vorstellen, dass der Cache-Ordner zurückgesetzt wurde. Kann man sich aber auch ansehen, ob das Feld im Model ist, indem man unter /var/cache/production_…/doctrine/attributes das passende Model öffnet und schaut ob das Feld drin ist. 

Aha, danke.  Thumb-Up

Ich habe mir jetzt mal den neuesten Cache-Ordner angesehen. In der Customer-Klasse stehen meine Attribute samt Getter und Setter drin.

Ich habe allerdings drei “production_”-Ordner. Kann ich irgendwo sehen, welcher genutzt wird? (Die Attribute bestehen nämlich nur in einem der Ordner.)

Die Zahl hinter dem Ordner-Namen ist ein Timestamp. Der neuste wird genutzt.

Das ist dann auch der richtige. Also scheint alles so zu sein, wie es sollte…

Die Ordner heißen allerdings auch sehr ähnlich. Einer endet zusätzlich auf “_” der andere auf “_1”. In dem ohne ein Suffix steht alles richtig.

Hallo,

ich hatte dasselbe Problem das die Freitextfelder nicht sichtbar waren. Das Cache leeren über das Backend brachte keinen Erfolg. Erst als ich den Cache nach folgenden Link manuel geleert habe. Konnte ich die Felder über die API wieder sehen:

https://netgrade.de/shopware-5-wie-kann-ich-den-cache-manuell-leeren/

Beste Grüße

1 „Gefällt mir“

@Moritz Naczenski schrieb:

@DWilhelm83 schrieb:

Nein, da in der Dokumentation steht, dies würde automatisch beim Anlegen passieren und sei „normalerweise“ nicht nötig.

Die Tabellen sehen ja auch gut aus…

Ist es auch normalerweise nicht - aber bei dir gibt es ja ein unnormales Verhalten ;)

Das ist wirklich interessant: Ich habe heute ein neues Feld angelegt und hatte dasselbe Problem wieder: Erst war alles gut und dann fehlte das neue Feld plötzlich wieder. Dismal habe ich das Modell neue gnerieren lassen und das Feld war wieder da - zumindest für eine Stunde… Mal sehen, wie oft das jetzt noch passiert.

Zum Glück werden dabei keine Daten gelöscht, sondern nur die Verbindung von Datenbank zu Shopware leidet.

@Magnum schrieb:

ich hatte dasselbe Problem das die Freitextfelder nicht sichtbar waren. Das Cache leeren über das Backend brachte keinen Erfolg. Erst als ich den Cache nach folgenden Link manuel geleert habe. Konnte ich die Felder über die API wieder sehen:

Ich danke dir. Ich weiß aber nicht, ob ich das in einer Produktivumgebung wirklich austesten sollte…