Me encuentro con un nuevo muro delante mío, os explico.
Tengo una entity llamada "Referencias" en la que, entre otros, tengo los siguientes campos:
- Referencia
- Descripción
- Código EAN
Por otro lado tengo una entidad de Pedidos y Pedidos_Referencias en la que la segunda se comporta como un "collection" en los forms. En la segunda (Pedidos_Referencias) tengo una clave foránea (Reference) que apunta a la entidad "Referencias".
Para terminar, tengo el formulario correspondiente en el que registro las referencias que se piden en un pedido, con el típico campo entity:
Código PHP:
$builder->add('reference',"entity",
array('label'=>'Descripción:','class' => 'AlmacenBundle:Reference',
'required'=>false,
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.description', 'ASC');
},
));
Cuando agrego esos campos al formulario queda como lo siguiente:
Código PHP:
$builder->add('referenceCode',"entity",
array('label'=>'Código(AU):',
'class' => 'AlmacenBundle:reference',
'property' => 'name',
'required'=>false));
$builder->add('referencePN',"entity",
array('label'=>'PN:','class' => 'AlmacenBundle:Reference',
'property' => 'ean',
'required'=>false,
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->andwhere('u.ean <> :ean')
->orderBy('u.ean', 'ASC')
->setParameter('ean', '');
},
));
$builder->add('reference',"entity",
array('label'=>'Descripción:','class' => 'AlmacenBundle:Reference',
'required'=>false,
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.description', 'ASC');
},
));
El caso es que yo no quiero registrar esos datos en la BD al enviar el formulario, sino primero comprobar qué ha selccionado el usuario (Si la referencia por Código, descripción, o Código de barrras), luego buscar el ID de esa referencia y entonces sí registrarlo en la "Pedidos_referencia".
Alguna sugerencia para saltarme los errores de "No existe el método Get en la entidad Pedidos_Referencia"?