Symfony 2 Create a entity form field with 2 properties
php, symfony, symfony-forms
Solution
Yes, define a `getUniqueName()` method in the entity class like:
public function getUniqueName()
{
return sprintf('%s - %s', $this->name, $this->value);
}
And edit the `property` form option:
'property' => 'childEntity.uniqueName',
You also can omit the `property` option and define the `__toString()` method same way in order to not repeat the setting of the `property` option in every form.
Problem
I am using symfony2 and have a form to save the relation of one user to some rules. These rules are set by the admin user of the company. In this form, after I selected a user to update, I have to select which rule this user have permission. The problem is that I may have more then one rule with the same name (it's another entity) but the values are different. So, when I build the selectbox I must show the name and the value like: - Quantity of items - 10 - Quantity of items - 20 - Value of the item - 200 - Value of the item - 500 But now I just can show without the "- $value" using the code bellow: ``` $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(); ``` So, as property I wanted to get `$myEntity->getChildEntity()->getName()` and the `$myEntity->getValue()`. Is there some way to do this?