2012-04-25 102 views
3

我试图用单选按钮显示所有类别(从我的表类别)。 有3个类别,但只有一个单选按钮显示,而Doctrine查询正常。Symfony2:显示表单实体字段类型为单选按钮

我FormType代码:

public function buildForm(FormBuilder $builder, array $options) 
{ 
    $builder->add('categories', 'entity', array(
     'class' => 'MyBundle:Category', 
     'expanded' => true, 
     'property' => 'title', 
     'property_path' => false, 
    )); 
} 

我的嫩枝代码:

{{ form_widget(form) }} 

结果应该返回3个单选按钮,但我只看到一个单选按钮(第一个在我的表)。

显示在Symfony分析器(调试栏)中的Doctrine查询完美执行并返回3行。

也许问题来自于我不得不添加了“property_path”,否则我有一个例外:

Neither property "categories" nor method "getCategories()" nor method "isCategories()" exists in class ... 

任何帮助吗?

非常感谢:-)

斯坦

编辑:

这里是对应于该请求我dev.log,删除 “property_path” 的时候:

[2012-04-26 07:27:01] doctrine.DEBUG: SELECT t0.id AS id1, t0.last_update AS last_update2, t0.title AS title4 FROM category t0 ([]) [] [] 
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException". [] [] 
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException". [] [] 
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException". [] [] 
[2012-04-26 07:27:01] request.CRITICAL: Symfony\Component\Form\Exception\InvalidPropertyException: Neither property "categories" nor method "getCategories()" nor method "isCategories()" exists in class "Acme\MyBundle\Entity\Category" (uncaught exception) at /www/vendor/symfony/src/Symfony/Component/Form/Util/PropertyPath.php line 316 [] [] 

我真的不明白为什么它拒绝显示我的分类表中的每一行...

+0

还有其他帮助?我怎样才能显示我的3个单选按钮?为什么他们都没有被检索? – Aurel 2012-04-26 12:15:11

回答

1

问题是我的实体没有正确设置。 $id字段是一个布尔值,而不是一个整数。

0

'property_path'选项仅影响表单的绑定。 你有没有读过日志?有可能是一个错误。

+0

查看我的编辑dev.log对应... – Aurel 2012-04-26 07:34:31