Symfony version 3.1.3
我正在生成一个选择列表从数据库像下面,它工作得很好。
class ClassType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('class',
EntityType::class,
array('class' => 'PIE10Bundle:Classes',
'expanded' => false,
'multiple' => false,));
// some other form elements
}
}
在网页中,它给出了如下的HTML选择,
<select name="class[class]" id="class_class">
<option value="6">1A</option>
<option value="7">4C</option>
</select>
,在控制器中,我得到提交的数据,并调试如下,
if( $form->isSubmitted() && $form->isValid() )
{
$cName = $form['class']->getData();
echo $cName;
die;
}
我的结果是1A
或4C
(取决于选择),但不是6
或7
。我希望得到选择列表的值,但不是它的关键文本。
我想知道这是如何发生的,以及如何解决这个问题以获得值。此外,我还有另一个相同形式的选择列表,但它提交的是期望值。
谢谢
try with
$cName->getId()
我假设$cName
是PIE10Bundle:Classes
实体的一个实例(尝试转储get_class($cName)
),并且echo打印名称,因为它是作为__toString
方法实现的。
希望对您有所帮助