我在一个名为' discountCode'的表单中有一个字段。与'codiceSconto'有关在User.php类中。
//Discount.php
/**
* @ORM\Column(type= "integer", nullable = true)
* @ORM\OneToMany(targetEntity= "User", mappedBy = "codiceSconto")
*/
private discountCode;
//User.php
/**
* @ORM\Column(type="integer", length=5, nullable=true)
* @ORM\ManyToOne(targetEntity="Discount", inversedBy="discountCode")
* @ORM\JoinColumn(name="codicesconto_id", referencedColumnName="id")
*/
private $codiceSconto;
它代表用户可用于购买产品的折扣代码。 它不是必需的。 我已将其设置为(unique = true),因为每个折扣代表折扣百分比,因此它必须是唯一的。但是当我尝试验证表单时,我得到一个错误,说discountCode字段不能为NULL。 有什么建议吗?
答案 0 :(得分:1)
您错过了加入列中的nullable
选项
此外,如果您与其他实体有关系,则不需要指定列类型。查看以下代码片段
/**
* @ORM\OneToMany(targetEntity= "User", mappedBy = "discount")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true)
*/
private discountCode;