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 № 1Es 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.