Ich habe eine Entität - 'Haus' Ich möchte in einer symfony Form bearbeiten. Eine der Eigenschaften der Entität ist eine andere Entität "Eigentümer", die in einer Viele-zu-Viele-Beziehung abgebildet ist.Wie man Entitätseigenschaft in Symfony Formular abbildet
Wenn ich die Hauseinheit erstelle, weiß ich, wem sie gehört, und das kann nicht geändert werden, also muss ich den Besitzer im Formular übergeben, aber nicht in einer Weise, die bearbeitet werden kann.
Wenn ich Symfony nicht verwendet habe, würde ich es einfach als verstecktes Feld "OwnerID" übergeben. In Symfony weiß ich, dass ich es als Entity-Typ übergeben kann, aber das ist ein Auswahlfeld, sichtbar und erlaubt dem Besitzer, geändert zu werden.
Also wie sollte ich es in Symfony übergeben?
Einfach das Formular als 'Besitzer' hinzufügen, gibt mir ein Array zu String-Konvertierung Fehler.
Das eigentliche Problem war es stellte sich heraus, dass ich den Besitzer Eigentum bevölkert ich die findBy() functiod verwendet und der Wert der Eigenschaft zurückgegeben zugeordnet. Die Funktion gibt jedoch ein Array von Objekten zurück, daher der Konvertierungsfehler von Array zu String. Die Verwendung von findOneBy() hat eine Besitzerklasse zurückgegeben, die dann die Funktion __toString() erfolgreich aufgerufen hat ... leider hatte die Persistenz am anderen Ende keine Ganzzahl und keine Klasse. Damit wurde das Problem gelöst, das ich hatte, aber das eigentliche Problem, das ich beheben wollte. – Horaland