Symfony3:为什么选择提交关键文本而不是它的值
Symfony3: Why choices submit key text instead of its value
Symfony 版本 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 如下所示,
<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
。
我希望获得选择列表的值,但不是其关键文本。
我想知道这是怎么发生的以及如何解决这个问题以获得价值。此外,我还有另一个相同形式的选择列表,但它提交了预期值。
谢谢
试试
$cName->getId()
我想 $cName
是 PIE10Bundle:Classes
实体的实例(尝试转储 get_class($cName)
)并且回显打印名称,因为它是作为 __toString
实现的方法。
希望对您有所帮助
Symfony 版本 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 如下所示,
<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
。
我希望获得选择列表的值,但不是其关键文本。
我想知道这是怎么发生的以及如何解决这个问题以获得价值。此外,我还有另一个相同形式的选择列表,但它提交了预期值。
谢谢
试试
$cName->getId()
我想 $cName
是 PIE10Bundle:Classes
实体的实例(尝试转储 get_class($cName)
)并且回显打印名称,因为它是作为 __toString
实现的方法。
希望对您有所帮助