-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Describe the bug
If you have an associated entity with an embed and you're trying to configure search for it you'll get an InvalidArgumentException.
To Reproduce
Have entity Foo contain a ManyToOne reference to Bar.
Bar has a property customerAddress that is an embed.
Try to configure Foos search like this:
public function configureCrud(Crud $crud): Crud
{
return $crud
->setSearchFields(['bar.customerAddress.firstName']);
}(OPTIONAL) Additional context
Looks like we need some logic there to check if the thing you're trying to search is an association or an embed.
InvalidArgumentException:
Association name expected, 'customerAddress' is not an association.
at vendor/doctrine/orm/src/Mapping/ClassMetadata.php:2521
at Doctrine\ORM\Mapping\ClassMetadata->getAssociationTargetClass('customerAddress')
(vendor/easycorp/easyadmin-bundle/src/Orm/EntityRepository.php:290)
at EasyCorp\Bundle\EasyAdminBundle\Orm\EntityRepository->getSearchablePropertiesConfig(object(QueryBuilder), object(SearchDto), object(EntityDto))
(vendor/easycorp/easyadmin-bundle/src/Orm/EntityRepository.php:76)
at EasyCorp\Bundle\EasyAdminBundle\Orm\EntityRepository->addSearchClause(object(QueryBuilder), object(SearchDto), object(EntityDto), 'Doctrine\\DBAL\\Platforms\\PostgreSQL120Platform')
(vendor/easycorp/easyadmin-bundle/src/Orm/EntityRepository.php:60)
at EasyCorp\Bundle\EasyAdminBundle\Orm\EntityRepository->createQueryBuilder(object(SearchDto), object(EntityDto), object(FieldCollection), object(FilterCollection))
(vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:495)
at EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->createIndexQueryBuilder(object(SearchDto), object(EntityDto), object(FieldCollection), object(FilterCollection))
(vendor/easycorp/easyadmin-bundle/src/Controller/AbstractCrudController.php:137)
at EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController->index(object(AdminContext))
(vendor/symfony/http-kernel/HttpKernel.php:183)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:76)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:193)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:32)
at require_once('/app/vendor/autoload_runtime.php')
(public/index.php:5)
Metadata
Metadata
Assignees
Labels
No labels