我的问题非常简单但对我来说很复杂,我有一个symfony2
表单CategoryType:
class CategoryType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'entity', array('class' => 'Mpk\CmsBundle\Entity\Category',
'placeholder' => '',
'property' => 'name',))
->add('save', 'submit')
;
}
我希望在我的控制器中的submition之后获取所选实体的id我该怎么做?
答案 0 :(得分:1)
$id_selected = $form->getData()->getName()->getId();
答案 1 :(得分:0)
请注意,新创建的实体时可能无法获取该实体的ID,因为在实体保留在数据库中之前不会生成该实体的ID。如果必须得到它,则必须首先保留该实体。如果无法做到这一点,并且您需要在持久化之前唯一地标识实体,则一些选项可能是手动生成ID,或者使实体名称唯一(并改为使用实体名称),或者创建单独的列/参数并使其独特。当然,所有这些选项都需要您确认您的商品实际上是唯一的。