При использовании EntityType
внутри CollectionType
возможно ли получить доступ к текущему объекту коллекции внутри функции query_builder
EntityType?
Основная форма:
class UsersType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('users', CollectionType::class, array('entry_type' => UserType::class));
}
}
Подформа:
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('mainPost', EntityType::class, array(
'class' => Post::class,
'query_builder' => function (PostRepository $postRepository) {
return $postRepository->findPostsOfUser(); // <= Here I'd like to pass the *current* user to the repository
},
))
;
}
}
Причина: я не хочу видеть все сообщений у каждого пользователя, но только сообщения этого пользователя.
EntityType'sдокументы говорят, что это невозможно:
При использовании вызываемого объекта вам будет передан EntityRepository объекта в качестве аргумента only ...
Может быть, есть обходной путь?Есть идеи?