@@ -12,11 +12,11 @@ objects from the database.
1212+-------------+------------------------------------------------------------------+ 
1313|  Rendered as |  can be various tags (see :ref: `forms-reference-choice-tags `) | 
1414+-------------+------------------------------------------------------------------+ 
15- |  Options |  - `class `_ | 
15+ |  Options |  - `choice_label `_ | 
16+ |  |  - `class `_ | 
1617|  |  - `data_class `_ | 
1718|  |  - `em `_ | 
1819|  |  - `group_by `_ | 
19- |  |  - `property `_ | 
2020|  |  - `query_builder `_ | 
2121+-------------+------------------------------------------------------------------+ 
2222|  Overridden |  - `choice_list `_ | 
@@ -55,13 +55,13 @@ be listed inside the choice field::
5555
5656 $builder->add('users', 'entity', array( 
5757 'class' => 'AcmeHelloBundle:User', 
58-  'property ' => 'username', 
58+  'choice_label ' => 'username', 
5959 )); 
6060
6161In this case, all ``User `` objects will be loaded from the database and
6262rendered as either a ``select `` tag, a set or radio buttons or a series
6363of checkboxes (this depends on the ``multiple `` and ``expanded `` values).
64- If the entity object does not have a ``__toString() `` method the ``property ``
64+ If the entity object does not have a ``__toString() `` method the ``choice_label ``
6565option is needed.
6666
6767Using a Custom Query for the Entities
@@ -103,6 +103,29 @@ then you can supply the ``choices`` option directly::
103103Field Options
104104------------- 
105105
106+ choice_label
107+ ~~~~~~~~~~~~ 
108+ 
109+ **type **: ``string ``
110+ 
111+ This is the property that should be used for displaying the entities
112+ as text in the HTML element. If left blank, the entity object will be
113+ cast into a string and so must have a ``__toString() `` method.
114+ 
115+ .. note ::
116+ 
117+  The ``choice_label `` option is the property path used to display the option.
118+  So you can use anything supported by the
119+  :doc: `PropertyAccessor component  </components/property_access/introduction >`
120+ 
121+  For example, if the translations property is actually an associative
122+  array of objects, each with a name property, then you could do this::
123+ 
124+  $builder->add('gender', 'entity', array( 
125+  'class' => 'MyBundle:Gender', 
126+  'choice_label' => 'translations[en].name', 
127+  )); 
128+ 
106129class
107130~~~~~ 
108131
@@ -133,29 +156,6 @@ and does so by adding ``optgroup`` elements around options. Choices that
133156do not return a value for this property path are rendered directly under
134157the select tag, without a surrounding optgroup.
135158
136- property
137- ~~~~~~~~ 
138- 
139- **type **: ``string ``
140- 
141- This is the property that should be used for displaying the entities
142- as text in the HTML element. If left blank, the entity object will be
143- cast into a string and so must have a ``__toString() `` method.
144- 
145- .. note ::
146- 
147-  The ``property `` option is the property path used to display the option.
148-  So you can use anything supported by the
149-  :doc: `PropertyAccessor component  </components/property_access/introduction >`
150- 
151-  For example, if the translations property is actually an associative
152-  array of objects, each with a name property, then you could do this::
153- 
154-  $builder->add('gender', 'entity', array( 
155-  'class' => 'MyBundle:Gender', 
156-  'property' => 'translations[en].name', 
157-  )); 
158- 
159159query_builder
160160~~~~~~~~~~~~~ 
161161
0 commit comments