也许我错过了一些东西,但在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));
}
答案 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)。