banderos120
@banderos120
Играю на балалайке

Как вывести select entity в типе поля collection?

Есть entity Brief и Category (связь многие ко многим), на странице создания Brief должен быть список с категориями. SELECT должен быть не multiple , так бы конечно все работало. В entity Brief есть методы addCategory и т.д. Проблема в том, что при такой записи :
->add('categories', 'collection', array(
				'type'=>'entity',
				'options' => array(
				'class' => 'Aplication\UserBundle\Entity\Category',
				'property' => 'name',
				'query_builder' => function(EntityRepository $repository){
					return $repository->findAll();
				}),
				'by_reference' => false
			))

не выводит вообще ничего. Т.е. даже select не отдает, просто пустое место. Вывожу через form_widget.

Если ставить тип entity , вместо collection - выводит список, но не сохраняет, так как ждет ArrayCollection. Сохраняло бы, но если select будет с multiple="multiple" , что мне не нужно.
В общем проблема в том, что не выводит select со списком категорий.
  • Вопрос задан
  • 2254 просмотра
Пригласить эксперта
Ответы на вопрос 1
zk-zeka
@zk-zeka
Symfony developer
class Brief{
    .....
    public functioon getCategory()
    {
        return $this->categories;
    }
    
    public functioon setCategory( $category )
    {
        $this->categories->clear();   // если надо
        $this->addCategory( $category );
    }
}


class BriefType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        ......
        $builder->add( 'category', 'entity', array(
            .......
        ) );
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы