@ak_wi

Как исправить ошибку в Symfony 5.0 An exception has been thrown during the rendering of a template?

Решил создать простое приложение на 5.0.0:
symfony new my_project_name --full
composer dump-env dev

echo "7.2" > .php-version (на 7.0 сервер не работал)
php bin/console make:entity(добавил одно поле - sting для примера)
php bin/console make:crud

И после этого "An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class App\Entity\Color could not be converted to string")."
  • Вопрос задан
  • 1565 просмотров
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Проблема в maker-bundle (не привязан к версии Symfony). Он не создает магический метод __toString, чтобы отображать сущности. Вам надо добавить его самому:
public function __toString()
{
    return $this->name;
}


Но в вашем случае проблема в том, что сущность называется Color и для нее создается форма с названием  ColorType. Для ее рендера используется шаблон формы
\Symfony\Component\Form\Extension\Core\Type\ColorType
в котором, судя по всему, ваша сущность кастится в строку.

Добавьте в классе \App\Form\ColorType метод getBlockPrefix и все заработает:
public function getBlockPrefix()
{
    return 'app_color';
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы