symfony将提交的表单保存到数据库中

时间:2010-03-19 06:52:04

标签: php symfony1 symfony-1.4

也许我错过了一些东西,但在symfony示例中,在表单提交操作中没有任何表明表单数据保存到数据库的内容。 (link)。如何将所有内容保存到db?

链接示例:

public function executeSubmit($request)
{
  $this->forward404Unless($request->isMethod('post'));

  $params = array(
    'name'    => $request->getParameter('name'),
    'email'   => $request->getParameter('email'),
    'message' => $request->getParameter('message'),
  );

  $this->redirect('contact/thankyou?'.http_build_query($params));
}

3 个答案:

答案 0 :(得分:1)

如果您的表单基于模型(例如Doctrine或Propel对象),则需要在操作中执行以下操作:

$this->form = new MyForm();

$this->form->bind($params);

if ($this->form->isValid())
{
  $this->form->save();
}

这些似乎是你缺少的关键步骤。正如其他人所指出的,Symfony教程提供了很好的例子。

答案 1 :(得分:0)

看看http://www.symfony-project.org/forms/1_4/en/04-Propel-Integration

在Web项目中,大多数表单用于创建或修改模型对象。由于ORM,这些对象通常在数据库中序列化。 Symfony的表单系统提供了一个附加层,用于与Promf的内置ORM接口连接,使基于这些模型对象的表单实现更容易。

答案 2 :(得分:0)

除了VolkerK的链接之外,该职位教程还包括学说(或推动,如果您更喜欢将其作为您的ORM)。

http://www.symfony-project.org/jobeet/1_4/Doctrine/en/10