//--form timesheettype-它不是实体类
class TimeSheetType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
$builder->
add('dailyTimeSheet', 'collection', array('type' => new DailyType(), 'allow_add' => true, 'allow_delete' => true, 'prototype' => true,))
->add('comment','textarea');
}
public function getName() {
return 'TimeSheetDaily';
}
}//- DailyType --存在此类型的实体
class DailyType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
$builder->add('project','entity',array('class'=> 'Parabola\EntityBundle\Entity\Project','property'=>'name'))
->add('projectTask', 'entity', array('class'=> 'Parabola\EntityBundle\Entity\ProjectTask','property'=>'name'))
->add('hours', 'text');
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'Parabola\EntityBundle\Entity\TimeSheetDaily');
}
public function getName() {
return 'DailySheet';
}//--控制器--
$repository = $this->getDoctrine()
->getRepository('ParabolaEntityBundle:TimeSheetDaily')->findAll();
$form = $this->createForm(new \Parabola\TimeSheetBundle\Form\TimeSheetType(),$repository);我有实体类TimeSheetDaily。在构建TimeSheetType的表单时,我将TimeSheetDaily类对象的数组传递给表单类型。并且TimeSheetType有DailyType的集合。它没有设置集合字段的值,它只是一个TimeSheetDaily实体。
发布于 2012-03-14 21:28:47
TimeSheetDaily类的__constructor定义好了吗?有这样的东西吗?
public function __construct(){
//....
$this->dailyTimeSheet = new ArrayCollection();
//....
};为了让Symfony能够向其中插入数据,正确初始化此集合非常重要……
https://stackoverflow.com/questions/9700948
复制相似问题