Symfony 2 Создайте поле формы сущности с 2 свойствами

я используюSymfony2 и иметь форму, чтобы сохранить отношение одного пользователя к некоторым правилам. Эти правила устанавливаются администратором компании. В этой форме после того, как я выбрал пользователя для обновления, я должен выбрать, по какому правилу у этого пользователя есть разрешение.

Проблема в том, что у меня может быть более одного правила с тем же именем (этос другой сущностью), но значения разные. Итак, когда я собираю selectbox, я должен показать имя и значение, например:

Количество предметов - 10Количество предметов - 20Стоимость предмета - 200Стоимость предмета - 500

Но теперь я просто могу показать без- $ value " используя код ниже:

$form = $this->createFormBuilder()->add('myinput', 'entity', array(
                    'class' => 'myBundle:Rule',
                    'property' => 'childEntity.name',
                    'label' => 'Filas Permitidas',
                    'expanded' => false,
                    'multiple' => true,
                    'choices' => $this->getDoctrine()
                            ->getRepository('MyBundle:Rule')
                            ->findAll(),
                    'required' => true,
                ))->getForm();

Итак, в качестве собственности я хотел получить$myEntity->getChildEntity()->getName() и$myEntity->getValue()

Есть ли способ сделать это?

Ответы на вопрос(1)

Решение Вопроса

Да, определитеgetUniqueName() метод в классе сущности, такой как:

public function getUniqueName()
{
    return sprintf('%s - %s', $this->name, $this->value);
}

И отредактируйтеproperty вариант формы:

'property' => 'childEntity.uniqueName',

Вы также можете опуститьproperty вариант и определить__toString() таким же образом, чтобы не повторять настройкуproperty вариант в любой форме.

 medina01 окт. 2014 г., 06:35
Пятно на! Congrats ..
 PedroHCan25 окт. 2012 г., 16:37
Просто отлично! Спасибо!

Ваш ответ на вопрос