Symfony2用DB中的数据填充选择列表选项



我正试图用实体中的数据填充一个选择列表。选项创建正确,并且选项的值正确。

然而,每次我提交表单时,它总是放debtorGroup的原始值,并忽略表单中的选定值

张贴数据示例:(选择的debtorGroup是3,而不是2,这是原始值)

object(AppBundleCoreBundleEntityCustomer)[449]
protected 'id' => int 9
private 'debtorGroup' => int 2
private 'fullName' => string 'Daniel Mensing' (length=20)

我的FormBuilder代码:

$form = $this->createFormBuilder($customer)
->add('debtorGroup', 'entity', array(
'mapped'   => false,
'class' => 'AppCoreBundle:DebtorGroup',
'required' => true,
))
->add('fullName')
->add('companyName')
->add('address1')
->add('address2', 'text', array(
'required'  => false,
))
->add('zipPostal')
->add('city')
->add('phone')
->add('email')
->getForm();

我的客户实体:

class Customer extends User
{
/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var integer
*
* @ORMColumn(name="debtor_group", type="integer")
*/
private $debtorGroup;
/**
* @var string
*
* @ORMColumn(name="full_name", type="string", length=255)
*/
private $fullName;
/**
* @var string
*
* @ORMColumn(name="company_name", type="string", length=255)
*/
private $companyName = null;

我的债务人集团实体:

class DebtorGroup
{
/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORMColumn(name="name", type="string", length=100)
*/
private $name;
}

有人知道怎么了吗?

提前感谢

/Daniel

在实体字段声明中将mapped设置为false。这就是文档中关于mapped选项的说明:

如果您希望在读取或写入对象,则可以将mapped选项设置为false。

听起来很像你遇到的问题。

相关内容

  • 没有找到相关文章