我正在尝试使用来自实体的数据填充选择列表。 选项正确创建,选项值正确。
但是,每当我提交表单时,它总是将debtorGroup的原始值放入,并忽略表格中选定的值
发布数据的示例: (选择的debtorGroup为3,而不是2,这是原始值)
object(App\Bundle\CoreBundle\Entity\Customer)[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
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var integer
*
* @ORM\Column(name="debtor_group", type="integer")
*/
private $debtorGroup;
/**
* @var string
*
* @ORM\Column(name="full_name", type="string", length=255)
*/
private $fullName;
/**
* @var string
*
* @ORM\Column(name="company_name", type="string", length=255)
*/
private $companyName = null;
我的DebtorGroup实体:
class DebtorGroup
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=100)
*/
private $name;
}
任何人都有一个错误的线索?
提前致谢,
/丹尼尔
答案 0 :(得分:0)
您在实体字段声明中将mapped
设置为false。这是文档中关于mapped
选项的说明:
如果您希望在阅读或写入时忽略该字段 对象,您可以将映射选项设置为false。
听起来很像你遇到的问题。