2016-07-29 4 views
0

Я получаю следующее сообщение об ошибке при реализации многие ко многим в ч/б 2 лиц (продукт & предложение):Как преобразовать массив объектов в строку в symfony 3?

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

Где сущность продукта в связи с предложением лица. Моя цель заключалась в том, чтобы предлагать продукты во многих отношениях.

Этот фрагмент кода создает его, как я полагаю, из-за ошибки.

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

Пожалуйста, помогите мне решить эту проблему.

+0

Вам нужно определить __toString() (http://php.net/ manual/fr/language.oop5.magic.php # object.tostring) – Ianis

+0

Как вы хотите, чтобы ваша сущность отображалась в виде строки? –

+0

Спасибо @Taha Paksu & others за помощь в редактировании вопросов. Это решается следующим ответом. –

ответ

0

Эта проблема распространена, когда вы создали CRUD автоматически.

Проблема заключается в том, что вам нужно выбрать из <select> в продукт в виде предложения и Symfony не может рисовать, потому что выбрать класс Продукт не определяет, какие поля должны быть оказаны.

Перейти к вашей Сущности продукта и добавить магический __toString метод (предоставить его, если вы можете), и он должен выглядеть следующим образом:

class Product { 

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