2016-07-29 12 views
0

Ich erhalte die folgende Fehlermeldung während der many-to-many-Beziehung in b Umsetzung/w 2 Einheiten (Produkt & Angebot):Wie konvertiert man ein Array von Objekten als String in Symfony 3?

Catchable Fatal Error: Object of class FoodBundle\Entity\Product could not be converted to string

Wo Produkteinheit in Verbindung mit dem Angebot Entität ist. Mein Ziel war es, Produkte in vielen Beziehungen anzubieten.

Dieses Stück Code erstellt es, wie ich von dem Fehler vermute.

class Offer 
{ 
    public function addProduct(\FoodBundle\Entity\Product $product) 
    { 
     $this->product[] = $product; 
     return $this; 
    } 
} 

Bitte helfen Sie mir, dieses Problem zu lösen.

+0

Sie müssen __toString definieren() (http://php.net/ manual/fr/language.oop5.magic.php # object.tostring) – Ianis

+0

Wie soll Ihre Entity als String angezeigt werden? –

+0

Danke an @Taha Paksu und andere für Fragen zur Bearbeitungshilfe. Es ist durch die folgende Antwort gelöst. –

Antwort

0

Dieses Problem tritt häufig auf, wenn Sie CRUD automatisch erstellt haben.

Das Problem ist, dass Sie von einem <select> ein Produkt in der Angebotsform und symfony ziehen kann nicht die select auswählen müssen, weil die Produktklasse ist nicht festgelegt, welches Feld gemacht werden soll.

Gehen Sie zu Ihrem Produkt Entity und fügen Sie die Magie __toString Methode (liefern Sie es, wenn Sie können) und es sollte wie folgt aussehen:

class Product { 

    public function __toString(){ 
     // Or change the property that you want to show in the select. 
     return $this->name; 
    } 
}