Я хочу иметь формы редактирования для всего объекта в одном представлении.Редактировать формы всего объекта объекта на одной странице Symfony3
Уже, у меня есть этот эффект:
Но когда я пытаюсь изменить простой объект, он не работает.
Corrections.html.twig
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<table class="table table-bordered">
<thead>
<tr>
<th>Nazwa poprawki</th>
<th>Status dla</th>
<th>Status dla klienta</th>
<th>Nazwa projektu</th>
<th>Klient</th>
<th>Obszar</th>
<th>Piorytet</th>
<th>Data utworzenia</th>
<th>Iteracja</th>
</tr>
</thead>
<tbody>
{% for correction in corrections %}
{{ form_start(form[loop.index0]) }}
<tr>
<td>{{correction.correctionName}}</td>
<td>{{ form_widget(form[loop.index0].adminStatusCorrectionId) }}</td>
<td>{{ form_widget(form[loop.index0].userStatusCorrectionId) }}</td>
<td>{{correction.projectId.projectName}}</td>
<td>{{correction.projectId.userId.firstName}} {{correction.projectId.userId.lastName}}</td>
<td>{{ form_widget(form[loop.index0].areaId) }}</td>
{% if correction.priority %}
<td>Tak</td>
{% else %}
<td>Nie</td>
{% endif %}
<td>{{correction.creationDate|date('Y-m-d')}}</td>
<td>{{correction.iteration}}</td>
<td>{{ form_widget(form[loop.index0].save) }}</td>
</tr>
</form>
{{ form_end(form[loop.index0]) }}
{%endfor %}
</tbody>
</table>
</div>
</div>
AdministratorController.php
public function correctionsAction(Request $request) {
$repository = $this->getDoctrine()->getRepository('AppBundle:Correction');
$corrections = $repository->findAll();
foreach ($corrections as $key => $value) {
$form = $this->createForm(CorrectionType::class, $corrections[$key]);
$formView[] = $form->createView();
}
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$correction = $form->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($correction);
$em->flush();
return $this->redirectToRoute('admin_view_corrections');
}
return $this->render('administrator/corrections.html.twig', array(
'corrections' => $corrections,
'form' => $formView
));
}
CorrectionType.php
class CorrectionType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('adminStatusCorrectionId', EntityType::class, array(
'class' => 'AppBundle:AdminStatusCorrection',
'choice_label' => 'statusName'
))
->add('userStatusCorrectionId', EntityType::class, array(
'class' => 'AppBundle:UserStatusCorrection',
'choice_label' => 'statusName'
))
->add('areaId', EntityType::class, array(
'class' => 'AppBundle:Area',
'choice_label' => 'areaName'
))
->add('save', SubmitType::class, array('label' => 'Aktualizacja'))
;
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults(array(
'data_class' => Correction::class,
));
}
}
Что я могу сделать сейчас?
EDIT
Все мои формы имеют название "коррекции".
В этом случае я получил 12 форм:
<form name="correction" method="post"></form>
Не могли бы вы дать нам ошибку? –