Привет, я пытаюсь использовать ParamConverter, чтобы получить несколько строк из базы данных, но профайлер показать запрос с limi 1
. Можно ли получить его как тоПолучение нескольких строк с помощью ParamConverter
/**
* @Route("/localization/{code}", name="pkt-index")
* @ParamConverter("localizations", class="PriceBundle:Localization")
*/
после ввода localization/0003
я должен получить более 100 строк.
EDIT: Я использовал repository_method
вариант и
/*
* @Route("/localization/{id}", name="pkt-index")
* @ParamConverter("localizations", class="PriceBundle:Localization", options={
* "repository_method": "getByLocalizationCode"
* })
*/
но самое смешное, что когда я изменяю {id}
в маршрут не работает он бросает и исключение SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
даже если переменная существует в класс сущности, если переменная не существует, она выбрасывает Unable to guess how to get a Doctrine instance from the request information.
ОБЪЯСНЕНИЯ
при изменении
{id}
в маршруте не работает он бросает и исключенияSQLSTATE[HY093]: Invalid parameter number: parameter was not defined
Вот я думаю, что Symfony протекторов id
как первичный ключ и в качестве параметра метода репозитория проходит string
когда Я изменил это id
на что-то еще, что он прошел array
Пример
/**
* @Route("/localization/{id}", name="pkt-index")
*/
передача string
методу
/**
* @Route("/localization/{code}/{name}", name="pkt-index")
*/
удар array
методу
array(
'code' => 003
'name' => localization_name
)
и последний
/**
* @Route("/localization/{id}/{name}", name="pkt-index")
*/
будет проходить string
идентификатор опустить имя
Надеюсь, это звучит разумно.
это значит ParamConverter никогда не будет работать внутри функции сеттер Entity? – userfuser