Symfony сохранить отправленную форму в базу данных - PullRequest
0 голосов
/ 19 марта 2010

Возможно, я что-то упускаю, но в примерах symfony в действии отправки формы нет ничего, что указывало бы на то, что данные формы сохраняются в базе данных. ( ссылка ). Как я могу сохранить все в БД?

Пример по ссылке:

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 ]

1 голос
/ 19 марта 2010

Если у вас есть форма, основанная на модели (например, объект Doctrine или Propel), вам нужно будет выполнить в своем действии что-то вроде следующего:

$this->form = new MyForm();

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

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

Это кажется решающимшаги, которые вы пропустили.Как уже отмечали другие, учебные руководства по Symfony предоставляют хорошие примеры этого.

0 голосов
/ 19 марта 2010

Так же как и ссылка VolkerK, учебное пособие по Jobeet охватывает формы доктрин (или поощряют, если вы предпочитаете это как свой ORM).

http://www.symfony -project.org / Jobeet / 1_4 / Doctrine / ен / 10

0 голосов
/ 19 марта 2010

Взгляните на http://www.symfony -project.org / forms / 1_4 / ru / 04-Propel-Integration :

В веб-проекте большинство форм используются для создания или изменения объектов модели. Эти объекты обычно сериализуются в базе данных благодаря ORM. Система форм Symfony предлагает дополнительный уровень для взаимодействия с Propel, встроенным в Symfony ORM, что упрощает реализацию форм, основанных на этих модельных объектах.
...