Skip to content

Instantly share code, notes, and snippets.

@ornj
Created December 7, 2012 21:18
Show Gist options
  • Save ornj/4236616 to your computer and use it in GitHub Desktop.
Save ornj/4236616 to your computer and use it in GitHub Desktop.
Using reference to entity in query_builder option
<?php
namespace Acme\PollBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Acme\PollBundle\Entity\FieldRepository;
class PollRespondType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$poll = $options['data'];
$builder->add('fields', 'entity', array(
'class' => 'Acme\PollBundle\Entity\FieldRepository',
'expanded' => true,
'multiple' => false,
'property' => 'title',
'query_builder' => function(FieldRepository $er) use ($poll) {
return $er->createQueryBuilder('f')
->where('f.poll = :poll')
->orderBy('f.id', 'ASC')
->setParameter('poll', $poll);
},
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'data_class' => $this->class,
));
}
public function getName() {
return 'acmel_poll_respond_type';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment