当我创建一条新记录时,在操作中processForm
我需要获取一个名为idmensajes
. 该字段是一个隐藏字段,自动增量和初级键。但是当我使用getValue ('idmensajes')
结果是空的。为什么?如何在 processForm 中获取 idmensajes 的值?
这里的代码processForm
:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$form_vals = $this->form->getValue('idmensajes');
$mensajes = $form->save();
$this->redirect('mensajes/index');
为了查看捕获的值,对应两个字段,我加了:
$form_vals1 = $this->form->getValue('idmensajes');
$form_vals2= $this->form->getValue('cuerpo');
$this->getUser()->setFlash("val1", $form_vals1);
$this->getUser()->setFlash("val2", $form_vals2);
在视图 indexSuccess.php 中,我添加代码:
<?php echo 'El valor del Id es:'. $sf_user->getFlash('val1'); ?>
<br>
<?php echo 'El valor de Cuerpo es: '. $sf_user->getFlash('val2'); ?>
然后,我查看 的值,val2
但该值为val1
空。
这里是完整的代码,带有 Flash 添加:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$mensajes = $form->save();
$form_vals1 = $this->form->getValue('idmensajes');
$form_vals2= $this->form->getValue('cuerpo');
$this->getUser()->setFlash("val1", $form_vals1);
$this->getUser()->setFlash("val2", $form_vals2);
$this->redirect('mensajes/index');