/ / Zwei Formen in einem Modul - PHP, Symfony1, Doctrine, Symfony-1.4

Zwei Formen in einem Modul - php, symfony1, doctrine, symfony-1.4

Ich möchte zwei Formulare auf einer Seite ändern. Ich habe mit Doctrine ein Modul generiert. Ich habe:

public function executeEdit(sfWebRequest $request)
{
$this->forward404Unless($news = Doctrine_Core::getTable("News")->find(array($request->getParameter("news_id"))), sprintf("Object news does not exist (%s).", $request->getParameter("news_id")));
$this->form = new NewsForm($news);
}

das funktioniert gut.

Ich fügte hinzu:

public function executeEdit(sfWebRequest $request)
{
$this->forward404Unless($news = Doctrine_Core::getTable("News")->find(array($request->getParameter("news_id"))), sprintf("Object news does not exist (%s).", $request->getParameter("news_id")));
$this->form = new NewsForm($news);
$this->forward404Unless($other = Doctrine_Core::getTable("Other")->findByNewsId(array($request->getParameter("other_id"))), sprintf("Object other does not exist (%s).", $request->getParameter("other_id")));
$this->form = new OtherForm($other);
}

und ich bekomme diesen Fehler:

 500 | Internal Server Error | sfException The "OtherForm" form only
accepts a "Other" object.

ich benutze findByNewsId()

Das funktioniert ok - wenn ich foreach mache, dann habe ich diese Objekte, aber ich kann dies nicht im Formular anzeigen. Wie kann ich das erreichen?

Antworten:

1 für die Antwort № 1

Es hört sich (ungefähr) so an, als würdest du etwas bearbeiten wollenMehrere Objekte in einem einzigen Formular - also in Ihrem Beispiel mehrere "Andere" Elemente (Ihre Frage ist derzeit etwas unklar). In diesem Fall möchten Sie wahrscheinlich einen Blick auf die Funktionen von Symfony für eingebettete Formulare werfen - siehe dieses Tutorial für Details.