Gracias por tu respuesta, según estaba investigando la forma que lo estaba haciendo es para formularios embebidos y en mi caso no lo necesito..
por eso busque y encontré lo siguiente:
el constructor de mi clase Dictado es el siguiente:
Código PHP:
protected $capituloId;
function __construct($capituloId) {
$this->capituloId = $capituloId;
}
mi clase type es la siguiente:
Código PHP:
public function buildForm(FormBuilderInterface $builder, array $options) {
$capituloId = $this->capituloId;
$builder
->add('fecha')
->add('observacion')
->add('tema', 'entity', array(
'class' => 'JHONATHANSicondcBundle:Tema',
'query_builder' => function(EntityRepository $er)
use ($capituloId)
{
return $er->createQueryBuilder('t')
->select('t')
->where('t.capitulo =: capituloId')
->setParameter('capituloId', $capituloId)
;
}
))
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'data_class' => 'JHONATHAN\SicondcBundle\Entity\Dictado'
));
}
/**
* @return string
*/
public function getName() {
return 'jhonathan_sicondcbundle_dictado';
}
y mi controlador es el siguiente:´
Código PHP:
public function escogertemasAction($id) { //$id es el id que estoy obteniendo del capitulo
$em = $this->getDoctrine()->getManager();
$dictado = new Dictado($id); //Envio el IdCapitulo a la clase Dictado por el constructor
$form = $this->createForm(new DictadoType(), $dictado); //creo el form
}
y no se que esta mal, según lo investigado debería funcionar y me sale este error:
Notice: Undefined property: JHONATHAN\SicondcBundle\Form\DictadoType::$capitul oId in C:\xampp\htdocs\SICONDC\src\JHONATHAN\SicondcBundl e\Form\DictadoType.php line 18
la linea 18 es la siguiente
$capituloId = $this->capituloId;
por favor ayudenme estoy 3 dias y no he podido resolverlo!!