Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

symfony2 form error

The form's view data is expected to be of type scalar, array or an instance of \ArrayAccess, 
but is an instance of class Ecs\CrmBundle\Entity\Customer. 

Is the error I get in my browser..

FORM CODE:

<?php

namespace Ecs\CrmBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class CustomerDefaultConfigType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name')
            ->add('customerStatus')
            ->add('tags', null, array('multiple' => true, 'property' => 'tag_name'))
        ;
    }

    public function getName()
    {
        return 'ecs_crmbundle_customerdefaultconfigtype';
    }
}

and the controller Action:

<?php

namespace Ecs\CrmBundle\Controller;

use Ecs\CrmBundle\Entity\CustomerDefaultConfig;
use Ecs\CrmBundle\Form\CustomerDefaultConfigType;
    public function newAction()
        {
            $entity = new CustomerDefaultConfig();
            $form   = $this->createForm(new CustomerDefaultConfigType(), $entity);

            return $this->render('EcsCrmBundle:CustomerDefaultConfig:new.html.twig', array(
                'entity' => $entity,
                'form'   => $form->createView()
            ));
        }

This is using symfony2.1 with composer... Any ideas on how to get this working?

like image 504
Justin Avatar asked Jan 22 '26 00:01

Justin


1 Answers

Since the last form refactoring, you have to specified the data_class in the setDefaultOptions method in your type.

See here (search for data_class).

Edit: Correct link

like image 85
Olivier Dolbeau Avatar answered Jan 23 '26 13:01

Olivier Dolbeau