symfony veritabanına gönderilen formu kaydedin

3 Cevap php

Belki de ben bir şey eksik, ama symfony örneklerde, form gönderme eylem form verilerini veritabanına kaydedilir gösteren bir şey yok. (link). Her şeyi nasıl db kaydedebilirsiniz?

Linkten örnek:

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 Cevap

Bir göz atın http://www.symfony-project.org/forms/1_4/en/04-Propel-Integration:

In a Web project, most forms are used to create or modify model objects. These objects are usually serialized in a database thanks to an ORM. Symfony's form system offers an additional layer for interfacing with Propel, symfony's built-in ORM, making the implementation of forms based on these model objects easier.

Bir model (örn. Doktrini veya uskur nesne) temel alan bir form varsa, sizin eylem aşağıdaki gibi bir şey yapmak gerekir:

$this->form = new MyForm();

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

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

Bunlar eksik önemli adımlar gibi görünüyor. Diğerleri işaret gibi, Symfony öğreticiler bu iyi örnekler sunmak.

Yanı sıra VolkerK linkini gibi, jobeet öğretici doktrin kapsar (ya da ORM olarak tercih ederseniz itmek) formları.

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