我有两个模型,即'Client'和'Pet',每个模型都有管理员生成的模块。涉及一对多关系,所以我希望能够使用URL中指定的cid(客户端ID)创建新的Pet(即/ pet / new / cid / 6)
我已经在客户端表单中禁用了cid字段,以便将URL中的参数作为默认值传递。
我尝试使用以下代码覆盖admin生成模块的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中获取参数。
我想我可能会在一些路由配置上丢失,但我对这个框架很新,所以我不确定该怎么做。
答案 0 :(得分:0)
你可以简单地在网址中传递参数cid,如下所示:
/ PET /新?CID = 6
并在以下操作中获得结果:
$请求 - >的getParameter( 'CID');
路由的第一部分(/ pet / new)是一个特定的doctrineRouteCollection