2

嗨,我对 SonataAdminBundle 有疑问。
我在数据库中创建了“工作”表,并在我的网站后端使用。

当我插入数据时,我的表 Job 中出现“非空”字段错误。

例如,我有“nb_comment”,即每个作业的评论数,因此当我在后端插入有关作业的所有信息时,我不使用 NOT NULL 字段“nb_comment”,并且出现以下错误:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'nb_comment' cannot be null  
4

2 回答 2

1

我有同样的问题,我认为它对我有用。您必须使用 初始化nb_comment模型中的变量null,如下所示:

/**
 * @var integer $nb_comment
 */
private $nb_comment = null;
于 2012-11-20T21:23:55.400 回答
1

添加@ORM 注释nullable=true

use Doctrine\ORM\Mapping as ORM;

...

/**
 * @var integer $nb_comment
 * @ORM\Column(name="nb_comment", type="integer", nullable=true)
 */
private $nb_comment;

或使用@Assert 声明添加约束验证器并在构造中初始化

use Symfony\Component\Validator\Constraints as Assert;

/**
 * @var integer $nb_comment
 * @ORM\Column(name="nb_comment", type="integer")
 * @Assert\NotNull()
 */
private $nb_comment;

public function __construct()
{
    $this->nb_comment = 0;
}
于 2012-11-21T07:50:05.020 回答