0

这个错误发生在下面,但我正在向列传递一个值。

An exception occurred while executing 'INSERT INTO tbevt_votacaostatusopcao (clvotacaostatusopcao_idintegracao, clvotacaostatusopcao_idopcao, clvotacaosta
tusopcao_nome) VALUES (?, ?, ?)' with params [null, "23094", "Sim"]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'clvotacaostatusopcao_idintegracao' cannot be null

我的实体:

/**
     * @var VotacaoIntegracao
     * @ORM\ManyToOne(targetEntity="Evento\Entity\VotacaoIntegracao", fetch="EAGER")
     * @ORM\JoinColumn(name="clvotacaostatus_idintegracao", referencedColumnName="clvotacaointegracao_idintegracao")
     */
    protected $integracao;

    /**
     * @var VotacaoStatusOpcao
     * @ORM\OneToMany(targetEntity="Evento\Entity\VotacaoStatusOpcao", mappedBy="opcao")
     */
    protected $votacaoStatusOpcao;

    /**
     * @ORM\Column(name="clvotacaostatus_idintegracao", type="integer")
     */
    protected $idIntegracao;

    /**
     * @ORM\Column(name="clvotacaostatus_idstatus", type="integer")
     */
    protected $idStatus;

我的服务:

$this->entityManager->persist($votacaoStatus);
$votacaoStatus->setIdIntegracao($idIntegracao);
$votacaoStatus->setIdStatus($situacaoVotacao);
$this->entityManager->flush($votacaoStatus);
$this->entityManager->commit();

如果我对protected $integracao变量发表评论,则插入有效,但我需要此链接。但我知道错误就在这里。

请帮我。

4

1 回答 1

0

两者$integracaoidIntegracao都映射到同一列clvotacaostatus_idintegracao。这看起来像是一个错误,可能您正在设置一个字段而不是另一个字段,后来 Doctrine 尝试保存null来自其中一个字段的值

于 2021-02-14T11:18:52.607 回答