0
// - 폼 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';
}
// - controller--
$repository = $this->getDoctrine()
->getRepository('ParabolaEntityBundle:TimeSheetDaily')->findAll();
$form = $this->createForm(new \Parabola\TimeSheetBundle\Form\TimeSheetType(),$repository);
내가 엔티티 클래스 TimeSheetDaily 있습니다. TimeSheetType의 양식을 작성하는 동안 TimeSheetDaily 클래스 오브젝트의 배열을 양식 유형으로 전달합니다. TimeSheetType에는 DailyType의 컬렉션이 있습니다. TimeSheetDaily 엔티티 일 뿐이 아닌 콜렉션 필드에 값을 설정하는 것이 아닙니다.
하지만 dailyTimesheet가 엔티티 클래스가 아닙니다. TimeSheetDaily 엔티티는 다른 엔티티 cals와 관계가 없습니다. –