如何在Sonata Admin中为sonata_type_model_list设置默认值?
对于文本,我可以:
->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 的对象 Demo,那么我有错误:
表单的视图数据应为类的实例 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' ));