Tengo una entidad Oficial, que tiene una relación de Uno-A-Uno con Usuario, o sea, en la entidad Usuario tengo el ID del Oficial correspondiente. Para construir el formulario de registro de un Usuario me hace falta mostrar en un campo de tipo SELECT los oficiales que no tienen usuario asignado.
En mi clase UsuarioType construyo el formulario así:
Código PHP:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('oficial', 'entity', array(
'class' => 'InvestigacionesPolicialesBundle:Oficial',
'query_builder' => function(EntityRepository $er) {
$subquery = $er->createQueryBuilder('o')
->select('o.id')
->from('InvestigacionesPolicialesBundle:Oficial', 'o')
->join('o.usuario', 'u')
->getDQL();
$qb = $er->createQueryBuilder('o')
->where($qb->expr()->notIn('o.id', $subquery));
return $qb;
return $er->createQueryBuilder('o');
},
'empty_value' => '- Seleccione -'
));
}
FatalErrorException: Error: Call to a member function expr() on a non-object in C:\server\htdocs\proyecto\src\UCI\InvestigacionesP olicialesBundle\Form\UsuarioType.php line 22