this is a proper way in 2.7
in controller use this:
$itemform = $this->createForm(new SyllabusType(), $item, array('databranchid' => $branchid));
and in form use this:
$builder
->add('studentclassid', 'entity', array(
'class' =>'Schoolerp\Bundle\DBBundle\Entity\Studentclass',
'choice_label' => 'name',
'empty_value' => 'Choose an option',
'query_builder'=>function(EntityRepository $e) use ( $options ){
return $e->createQueryBuilder('u')->where('u.isactive=1')
->andWhere('u.branchid = ?1')
->setParameter(1, $options['databranchid']);
}
))
->add('sectionid', 'entity', array(
'class' =>'Schoolerp\Bundle\DBBundle\Entity\Sections',
'choice_label' => 'name',
'empty_value' => 'Choose an option',
'query_builder'=>function(EntityRepository $e) use ( $options ){
return $e->createQueryBuilder('u')->where('u.isactive=1')
->andWhere('u.branchid = ?1')
->setParameter(1, $options['databranchid']);
}
));
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Schoolerp\Bundle\DBBundle\Entity\Syllabus',
'databranchid' => null
));
}
and if you use 3.0 replace input type into class type.