Php 索纳塔类型型号列表-设置默认值?

Php 索纳塔类型型号列表-设置默认值?,php,symfony,sonata-admin,Php,Symfony,Sonata Admin,如何在Sonata Admin中为Sonata_type_model_列表设置默认值 对于文本,我可以: ->add('title', 'text', array('required' => false, 'data' => 'default value')) 但我尝试: ->add('demo', 'sonata_type_model_list', array('data' => 1)) 那么我有一个错误: Class 1 does not exist 如

如何在Sonata Admin中为Sonata_type_model_列表设置默认值

对于文本,我可以:

->add('title', 'text', array('required' => false, 'data' => 'default value'))
但我尝试:

->add('demo', 'sonata_type_model_list', array('data' => 1))
那么我有一个错误:

Class 1 does not exist 
如果我通过而不是1个id为1的对象演示,则我有错误:

表单的视图数据应该是类的实例 Alex\TempBundle\Entity\Demo,但为(n)个整数。你可以避免这种情况 将“data_class”选项设置为null或添加视图时出错 将(n)个整数转换为 Alex\TempBundle\Entity\Demo


最简单的方法是在调用->add(…)方法之前分配对象

您可以先获取对象:

// Load your associated object
$object = new DemoObject();
$formObject = $this->getSubject();
$formObject->setDemo($object);
现在,所选对象应该是列表的默认值。
在我的情况下,效果相当不错。

这就是我的工作原理:

->add('demo', 'sonata_type_model', array( 'data' => '1' ));

您是否像
->add('demo',sonata_type_model_list',array('data'=>$myDemo))
那样进行操作,其中
$myDemo
demo
的一个实例?因为错误明确指出,您传递的是一个整数,而不是一个对象。