У меня есть две модели, а именно: «Клиент» и «Питомец», в которых есть модули, сгенерированные администратором.Существует взаимосвязь «один ко многим», поэтому я хочу иметь возможность создать нового питомца, используя cid (идентификатор клиента), указанный в URL (т. Е. / Pet / new / cid / 6)
Iуже отключил поле cid в форме клиента, так что параметр из URL будет передан в качестве значения по умолчанию.
Я попытался переопределить actions.class.php модуля, сгенерированного администратором, с помощью этого кода:
public function executeCreate(sfWebRequest $request)
{
$this->form = $this->configuration->getForm();
$params = $request->getParameter($this->form->getName());
$params["cid"] = $request->getParameter('cid');
$request->setParameter($this->form->getName(), $params);
parent::executeCreate($request);
}
Это работает, если я заменил
$request->getParameter('cid');
жестко запрограммированным значением int, поэтому я думаю, что проблема в том, что я не могу получить параметр из URL.
Я думаю, что может отсутствовать в некоторых конфигурациях маршрутизации, но я довольно новичок в этой среде, поэтому я не совсем уверен, что делать.