У меня проблема, когда я пытаюсь перечислить запись из БД, так как я получаю значение, хранящееся в строке, которая является целым числом, но вместо этого мне нужна строка. Как я работаю с формой? В этом случае:
protected function configureFormFields(FormMapper $form) {
$form
->add('no_order', null, array('label' => 'No. Order'))
->add('company', 'entity', array('class' => 'PL\CompanyBundle\Entity\Company', 'label' => 'Cliente'))
->add('business_case', null, array('label' => 'BC'))
->add('charge_status', 'choice', array('choices' => array(
"empty_value" => "Seleccione una opción",
"0" => "Ninguno",
"1" => "Proceso de Fabricacion",
"2" => "Pickup en destino",
"3" => "A la espera de recojo por cliente",
"4" => "Carga en transito",
"5" => "Carga arribada",
"6" => "En proceso de aduana",
"7" => "Entregado a cliente",
"8" => "En bodega"
), "required" => true, 'label' => 'Estado de la carga'))
->add('eta', null, array('label' => 'ETA', 'widget' => 'single_text', 'required' => false, 'attr' => array('class' => 'datepicker')))
->add('etd', null, array('label' => 'ETD', 'widget' => 'single_text', 'required' => false, 'attr' => array('class' => 'datepicker')))
->add('transport_media', 'choice', array('choices' => array("empty_value" => "Seleccione una opción", "0" => "EXW", "1" => "Maritimo", "2" => "Aereo"), "required" => true, 'label' => 'Via de Transporte'))
->add('incoterm', 'choice', array('choices' => array(
"empty_value" => "Seleccione una opción",
"0" => "Ninguno",
"1" => "EWX",
"2" => "FOB",
"3" => "CIF",
"4" => "DDP"
), "required" => true, 'label' => 'Incoterm'))
->add('comments', null, array('label' => 'Comentarios'))
->with('Documentos')
->add('medias', 'sonata_type_collection', array(
'required' => false), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'position'))
->end();
}
Я определяю charge_status
(эквивалент BC в представлении) как выбор, как я могу показать строку, а не значение в представлении списка? См. прикрепленное изображение для визуализации проблемы
empty_value
не должен находиться в массиве вариантов, а должен быть отдельным параметром в основном массиве параметров. - person Nicolai Fröhlich   schedule 18.02.2014'1' => 'text string'
. Теперь1
— ключ, аtext string
— значение. Вы хотите, чтобы в поле выбора отображалосьtext string
вместо1
, верно? просто поменяйте местами ключи и значения массива и сделайте его похожим на'text string' => '1'
. Вы также можете использоватьarray_flip(array('1' => 'text string' ...
. - person Nicolai Fröhlich   schedule 18.02.2014