Я получаю следующую ошибку при реализации отношения «многие ко многим» в черно-белых сущностях (продукт & Предлагает):
Catchable Fatal Error: Объект класса FoodBundle \ Entity \ Product мог
не быть преобразованным в строку
Где сущность «Продукт» связана с сущностью «Предложение».
Моя цель здесь состояла в том, чтобы помочь предложениям продуктов в отношениях многих ко многим.
Этот кусок кода создает его, как я догадываюсь из ошибки.
class Offer
{
public function addProduct(\FoodBundle\Entity\Product $product)
{
$this->product[] = $product;
return $this;
}
}
Пожалуйста, помогите мне решить эту проблему.
Эта проблема распространена, когда вы создали CRUD автоматически.
Проблема в том, что вам нужно выбрать из <select>
Продукт в форме предложения и Symfony не может нарисовать выбор, потому что класс Product не указывает, какое поле должно быть отображено.
Зайдите в свой продукт и добавьте волшебство __toString
метод (укажите, если можете) и он должен выглядеть так:
class Product {
public function __toString(){
// Or change the property that you want to show in the select.
return $this->name;
}
}
Других решений пока нет …