我正在研究Symfony2。 我试图在表格中显示数据库中的一些数据,但我发现此例外
你能帮帮我吗?方法" exemplairesParPaquet" for object" Symfony \ Component \ Form \ FormView"在GPAOPontaultBundle中不存在:制作:第103行的infogeneral.html.twig
我的infogeneral.html.twig
<td class='dynamique'>
{{unDossiers.Conditionnement.exemplairesParPaquet}}
{{ form_errors(form.Conditionnement.exemplairesParPaquet) }}
{{ form_widget(form.Conditionnement.exemplairesParPaquet, {'attr': {'style':'width: 80px;pointer-events: none;'}}) }}
</td>
My FabricationController.php
public function modifierAction(Request $request, $id) { //Action servant à modifier les infos rentrées en base lors de l'enregistrement du formualaire dossier
$em= $this->getDoctrine()->getManager();
$unDossiers = $em->getRepository('GPAOPontaultBundle:Dossier')->find($id);
$form = $this->get('form.factory')->create(new DossierType(), $unDossiers);
if ($form->handleRequest($request)->isValid()) {
$em->persist($unDossiers);
$em->flush();
return new Response ('Modification réussi');
}
if($unDossiers==null){
return new Response ('Modification impossible');
}
return $this->render('GPAOPontaultBundle:Fabrication:infogeneral.html.twig', array(
'form' => $form->createView(),
"unDossiers"=>$unDossiers
));
}
和我的DossierType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('TitreFaconne', new TitreFaconneType())
->add('numDF', 'text')
->add('parution', 'text')
->add('totalAFabriquer', 'integer')
->add('totalAFabriquerMSF', 'integer')
->add('cptCloture', 'integer')
->add('dateDebutLivraison', 'date', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'date'),
))
->add('dateFinLivraison', 'date', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'date'),
))
->add('dateComplet', 'date', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'date'),
))
->add('observations', 'textarea')
->add('Conditionnement', 'entity', array(
'class'=>'GPAO\PontaultBundle\Entity\Conditionnement',
'property'=>'id'))
->add('TypeTaquage', new TypeTaquageType())
->add('Societe','entity', array('class'=>'GPAO\PontaultBundle\Entity\Societe',
'property' => 'nom'))
->add('sauvegarder', 'submit', array('attr' => array('class' => 'btn btn-primary')))
;
}
答案 0 :(得分:0)
您尚未在表单构建器中添加元素exemplairesParPaquet
。首先在表单中添加exemplairesParPaquet
,就像其他元素一样,并在twig
中使用它。
Twig看起来像是:
<td class='dynamique'>
{{ form_errors(form.exemplairesParPaquet) }}
{{ form_widget(form.exemplairesParPaquet, {'attr': {'style':'width: 80px;pointer-events: none;'}}) }}
</td>