2012-06-05 39 views
3
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. 

是我在浏览器中得到的错误..Symfony2的形状误差

表单代码:

​​

和控制器操作:

<?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() 
      )); 
     } 

这是使用Symfony2的。 1与作曲家...任何想法如何得到这个工作?

回答

6

自上次表单重构以来,您必须在类型中的setDefaultOptions方法中指定data_class

请参阅here(搜索data_class)。

编辑:正确的链接

+0

我想通了,真正的问题,但还需要做什么线索需要解决它...... 我只是把我的回购一个全新的服务器上....当我运行'php composer.phar update'(因为我已经改变了我的composer.json以包括新的供应商)它告诉我:'不能解析版本约束@稳定',所以我运行:'php composer.phar自更新'然后是常规'更新',它将所有内容升级到与整个项目不兼容的版本....修复它的任何想法,所以我不必升级composer.phar或其他任何东西? – Justin

+0

'composer.phar update'更新所有依赖关系。即使是symfony本人。也许有些供应商目前与最新版本不兼容?但没有更多的信息,我没有任何解决方案给你...... S:也许你可以尝试检查symfony标准的composer.lock文件吗?您可能应该使用composer.json&composer.lock文件提出一个新问题,并提供有关您获得的错误的更多详细信息。 –

+0

明天当我在工作中时,我必须这样做,并且可以在我的指尖上说出信息...感谢您的帮助...... – Justin