Используя Symfony 4.0, я пытаюсь внедрить свою сущность, используя мой маршрут.
Вот мой контроллер:
/**
* @param TblResidence $tblResidence
* @return \Symfony\Component\HttpFoundation\Response
* @Route("/residences/{res_id}", name="residences_view")
*/
public function view(TblResidence $tblResidence)
{
return $this->render('residences/view.html.twig', [
'residence' => $tblResidence,
]);
}
А вот моя сущность:
/**
* TblResidence
*
* @ORM\Table(name="tbl_residence", indexes={@ORM\Index(name="syn_id", columns={"syn_id"}), @ORM\Index(name="uti_id_crea", columns={"uti_id_crea"}), @ORM\Index(name="uti_id_maj", columns={"uti_id_maj"}), @ORM\Index(name="exp_id", columns={"exp_id"}), @ORM\Index(name="res_code", columns={"res_code"}), @ORM\Index(name="mar_id", columns={"mar_id"}), @ORM\Index(name="not_id", columns={"not_id"}), @ORM\Index(name="seg_id", columns={"seg_id"})})
* @ORM\Entity
*/
class TblResidence
{
/**
* @var int
*
* @ORM\Column(name="res_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $resId;
....
И сейчас я получил эту ошибку:
Контроллер "App \ Controller \ ResidencesController :: view ()" требует, чтобы вы указали значение для аргумента "$ tblResidence".Либо аргумент имеет значение NULL, и значение NULL не было предоставлено, значение по умолчанию не было предоставлено, либо после этого есть необязательный аргумент.
Не думаю, что мне нужно использовать ParamConverter(если честно, я не нашел документации по SF4 по этому поводу), так как я просто хочу сопоставить, используя ID.Я пытался resId
, id
, res_id
в качестве имени параметра, все та же ошибка.
Я что-то пропускаю (да, конечно, я делаю)?
РЕДАКТИРОВАТЬ
Я установил этот пакет от композитора:
composer require sensio/framework-extra-bundle
И теперь, когда он работает, ParamConverter, похоже, зависит от этого пакета.
Дополнительная информация: https://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html