フォームの情報をデータベースに保存しようとすると問題が発生します。選択したネットワーク内のすべてのシアターのシアター ID を手動で設定した後でも、フォームが有効に見えません。私のモジュールのactions.class.phpの関連部分は次のとおりです。
executeCreate()は次のとおりです。
public function executeCreate(sfWebRequest $request) {
$this->form = $this->configuration->getForm();
$this->showing = $this->form->getObject();
$this->processCreateForm($request, $this->form);
$this->setTemplate('new');
}
そして今processCreateForm():
protected function processCreateForm(sfWebRequest $request, sfForm $form) {
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
$form_name = $form->getName();
$parameters = $request->getParameter($form_name);
$network_id = $parameters['network_id'];
$theaters_list = Doctrine_Query::create()
[...]
->execute();
foreach ($theaters_list as $theater) {
$form->getObject()->setTheaterId($theater->theater_id);
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid()) {
$showing = $form->save();
} else {
foreach ($form->getErrorSchema()->getErrors() as $key => $error) {
echo '<p>' . $key . ': ' . $error . '</p>';
}
}
}
$this->getUser()->setFlash('update_success', true);
$this->setTemplate('new');
}
出力は次のとおりです。
ご協力ありがとうございました