[Doctrine] Cleanup and move loader into its own method
This commit is contained in:
parent
7646a5bc6d
commit
3c81b62955
@ -52,7 +52,7 @@ class EntitiesToArrayTransformer implements DataTransformerInterface
|
||||
|
||||
foreach ($collection as $entity) {
|
||||
// identify choices by their collection key
|
||||
$key = array_search($entity, $availableEntities);
|
||||
$key = array_search($entity, $availableEntities, true);
|
||||
$array[] = $key;
|
||||
}
|
||||
} else {
|
||||
|
@ -22,6 +22,9 @@ use Symfony\Component\Form\AbstractType;
|
||||
|
||||
class EntityType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var ManagerRegistry
|
||||
*/
|
||||
protected $registry;
|
||||
|
||||
public function __construct(ManagerRegistry $registry)
|
||||
@ -58,11 +61,7 @@ class EntityType extends AbstractType
|
||||
if (!isset($options['choice_list'])) {
|
||||
$manager = $this->registry->getManager($options['em']);
|
||||
if (isset($options['query_builder'])) {
|
||||
$options['loader'] = new ORMQueryBuilderLoader(
|
||||
$options['query_builder'],
|
||||
$manager,
|
||||
$options['class']
|
||||
);
|
||||
$options['loader'] = $this->getLoader($manager, $options);
|
||||
}
|
||||
|
||||
$defaultOptions['choice_list'] = new EntityChoiceList(
|
||||
@ -78,6 +77,22 @@ class EntityType extends AbstractType
|
||||
return $defaultOptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the default loader object.
|
||||
*
|
||||
* @param ObjectManager
|
||||
* @param array $options
|
||||
* @return ORMQueryBuilderLoader
|
||||
*/
|
||||
protected function getLoader($manager, $options)
|
||||
{
|
||||
return new ORMQueryBuilderLoader(
|
||||
$options['query_builder'],
|
||||
$manager,
|
||||
$options['class']
|
||||
);
|
||||
}
|
||||
|
||||
public function getParent(array $options)
|
||||
{
|
||||
return 'choice';
|
||||
|
Reference in New Issue
Block a user