Tomasz G.

Tomasz G. Student,
Politechnika Gdańska

Temat: dostęp do pól formularza, save()

Witam,

zacząłem uczyć się symfony i mam taki problem:

1. Chciałbym w funkcji executeUpdate() dostać się do pól wypełnionego formularza
$this->form = new ProjectForm(ProjectPeer::retrieveByPk($request->getParameter('id')));

następnie niektóre pozmieniać i zapisać do bazy danych

$project = $this->form->save();

Jak się dostać do tych pól?
Próbowałem tak $this->form->setId($uid);
ale bez skutku.

2. Na stronie z listą projektów przy każdej pozycji jest odnośnik do akcji delete. Chciałbym wywołać samą akcję usuwającą projekt z bazy danych i powrócić na tą samą stronę z listą projektów. Jak na razie rozumiem to tak, że z każdą akcją jest związany template, czyli nie można wywołać samej akcji?

Dziękuję za odp.
Adam W.

Adam W. senior php
developer, Symfony

Temat: dostęp do pól formularza, save()

przyznam, że trochę nie rozumiem, zatem zgaduję:)


$this->form = new ProjectForm(ProjectPeer::retrieveByPk($request->getParameter('id')));

$project = ProjectPeer::retrieveByPk($request->getParameter('id'));
$this->form = new ProjectForm($project);

$project->setValue($uid);
$project->save();


a co do pytania 2 to możesz wykonywać akcję i wracać, służy do tego metoda $this->redirect().
dla pewności możesz ustawić
return sfView::NONE;
Daniel Ancuta

Daniel Ancuta Python, Zarządzanie
projektami

Temat: dostęp do pól formularza, save()

$project = ProjectPeer::retrieveByPk((int)$request->getParameter('id'));
$project->setId(2);

$this->form = new ProjectForm($project);
$this->form->save();

Lub tez jesli wysylasz dane z formularza to $this->form->bind( $request->getParameter('project') ); I wtedy $this->form->save();

Wszystko jest dostepne tutaj: http://www.symfony-project.org/book/forms/1_1/en/

$this->forward jako parametr przyjmuje url lub tez nazwe routingu.Daniel Ancuta edytował(a) ten post dnia 17.11.08 o godzinie 13:44

Następna dyskusja:

zapisywanie danych z formul...




Wyślij zaproszenie do