sonata_type_model_list - 设置默认值?

时间:2013-09-24 10:49:48

标签: php symfony sonata-admin

如何在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的对象演示,那么我有错误:

  

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

2 个答案:

答案 0 :(得分:0)

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

您可以先获取对象:

// Load your associated object
$object = new DemoObject();
$formObject = $this->getSubject();
$formObject->setDemo($object);

现在所选对象应该是列表的默认值。 在我的情况下,这非常好。

答案 1 :(得分:0)

这对我有用:

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