@urajo

Как правильно передать сущность в метод контроллера?

Передаю в метод сущность Conference
public function show(Request $request, Conference $conference, CommentRepository $commentRepository)

Сама сущность подключена
use App\Entity\Conference;

На странице такая ошибка
Controller "App\Controller\ConferenceController::show" requires the "$conference" argument that could not be resolved. Cannot autowire argument $conference of "App\Controller\ConferenceController::show()": it needs an instance of "App\Entity\Conference" but this type has been excluded in "config/services.yaml".

В настройке сервиса
App\:
        exclude:
            - '../src/Entity/'

Как я понимаю нужно удалить - '../src/Entity/' из исключения, что я делаю и получаю такую ошибку
Binding entities to query parameters only allowed for entities that have an identifier.
Class "App\Entity\Conference" does not have an identifier.

При этом в сущности есть id
#[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

В чем может быть проблема?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Убедитесь, что опция doctrine.orm.controller_resolver.auto_mapping выставлена в true
Либо можете использовать аттрибут MapEntity

Как я понимаю нужно удалить - '../src/Entity/' из исключения

Не нужно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы