Symfony2 Создание форм |Вызов неопределенного метода Entity :: GetName () в FormFactory.php в строке 192 - PullRequest
0 голосов
/ 24 февраля 2012

Я создал форму в symfony2, форма имеет отношение один ко многим.

, когда я пытаюсь распечатать форму в шаблоне, она говорит:

Fatal error: Call to undefined method X\XBundle\Entity\RepresentanteLegal::getName() in 
C:\xampp\htdocs\X\vendor\symfony\src\Symfony\Component\Form\FormFactory.php on line 192

Я надеваюУ меня нет функции getName () для PresensentanteLegal, потому что у меня нет атрибута Name.

Итак, мне нужна помощь.

Я сгенерировал форму в проекте, и я не сделалУ меня нет никаких проблем.

Это PresensentanteLegalType:

namespace Sofla\SoflaBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class RepresentanteLegalType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
        ->add('nombre')
        ->add('apellido')
        ->add('telefonoCelular')
        ->add('telefonoLocal')
    ;
    }
    public function getName()
    {
        return 'sofla_soflabundle_representantelegaltype';
    }
}

, и это конструкция PresensentanteLegal.php

public function __construct()
{
    $this->empresa = new \Doctrine\Common\Collections\ArrayCollection();
}

Также, вявляются атрибутами, получателями и установщиками, но я не буду публиковать их здесь, потому что я считаю, что это не имеет значения.

РЕДАКТИРОВАТЬ: Я нашел решение, это потому, что я звонил:

$form = $this->createForm(new RepresentanteLegal(), $hojadevida);

а не

$form = $this->createForm(new RepresentanteLegalType(), $hojadevida);

Мне очень жаль.Моя ошибка ...

1 Ответ

2 голосов
/ 24 февраля 2012

Вы должны предоставить форму с именем формы по умолчанию.Создать функцию в вашем классе формы

public function getName()
    {
        return 'empressa_form';
    }
...