[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) {
|
foreach ($collection as $entity) {
|
||||||
// identify choices by their collection key
|
// identify choices by their collection key
|
||||||
$key = array_search($entity, $availableEntities);
|
$key = array_search($entity, $availableEntities, true);
|
||||||
$array[] = $key;
|
$array[] = $key;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -22,6 +22,9 @@ use Symfony\Component\Form\AbstractType;
|
|||||||
|
|
||||||
class EntityType extends AbstractType
|
class EntityType extends AbstractType
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var ManagerRegistry
|
||||||
|
*/
|
||||||
protected $registry;
|
protected $registry;
|
||||||
|
|
||||||
public function __construct(ManagerRegistry $registry)
|
public function __construct(ManagerRegistry $registry)
|
||||||
@ -58,11 +61,7 @@ class EntityType extends AbstractType
|
|||||||
if (!isset($options['choice_list'])) {
|
if (!isset($options['choice_list'])) {
|
||||||
$manager = $this->registry->getManager($options['em']);
|
$manager = $this->registry->getManager($options['em']);
|
||||||
if (isset($options['query_builder'])) {
|
if (isset($options['query_builder'])) {
|
||||||
$options['loader'] = new ORMQueryBuilderLoader(
|
$options['loader'] = $this->getLoader($manager, $options);
|
||||||
$options['query_builder'],
|
|
||||||
$manager,
|
|
||||||
$options['class']
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$defaultOptions['choice_list'] = new EntityChoiceList(
|
$defaultOptions['choice_list'] = new EntityChoiceList(
|
||||||
@ -78,6 +77,22 @@ class EntityType extends AbstractType
|
|||||||
return $defaultOptions;
|
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)
|
public function getParent(array $options)
|
||||||
{
|
{
|
||||||
return 'choice';
|
return 'choice';
|
||||||
|
Reference in New Issue
Block a user