Php Symfony/条令:从processForm获取最后一个插入id?
如何在处理表单请求后获取最后一个插入ID,例如:Php Symfony/条令:从processForm获取最后一个插入id?,php,symfony1,doctrine,Php,Symfony1,Doctrine,如何在处理表单请求后获取最后一个插入ID,例如: $this->form = new StudyPlanForm(); $this->processForm($request, $this->form); 我会使用save,但如果不执行$studyplan->setField$request->getParameter,我就无法找到一种保存方法。。。对于每个字段。尝试: .. form processing .. $id = $this->form->getOb
$this->form = new StudyPlanForm();
$this->processForm($request, $this->form);
我会使用save,但如果不执行$studyplan->setField$request->getParameter,我就无法找到一种保存方法。。。对于每个字段。尝试:
.. form processing ..
$id = $this->form->getObject()->id;
更新:
只有当对象是sfFormObject的实例时,才可以从窗体中获取该对象。请尝试:
.. form processing ..
$id = $this->form->getObject()->id;
更新:
只有当对象是sfFormObject的实例时,才可以从窗体中获取该对象。更改processForm函数如下:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$obj = $form->save();
}
return $obj;
}
save方法返回保存在db上的对象,因此您可以从该对象获取id。因此,您可以:
$this->form = new StudyPlanForm();
$obj = $this->processForm($request, $this->form);
if ($obj != null){
//do whatever you want like $obj->getId()
}
按如下方式更改processForm函数:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$obj = $form->save();
}
return $obj;
}
save方法返回保存在db上的对象,因此您可以从该对象获取id。因此,您可以:
$this->form = new StudyPlanForm();
$obj = $this->processForm($request, $this->form);
if ($obj != null){
//do whatever you want like $obj->getId()
}