" NotNullConstraintViolationException"例外,虽然值不应为NULL

时间:2017-11-06 13:02:07

标签: php sql symfony doctrine

我使用以下函数来保护数据库中持久化的数据。

public function storeAppendDataDFu1($entity, $pKpPatientid)
{
    $em = $this->getDoctrine()->getManager();
    $session = $this->getRequest()->getSession();

    $entity1 = $this->getDoctrine()
        ->getRepository('DataLiveBundle:DataAPatient')
        ->find($pKpPatientid);

    if (!$entity) {
        throw $this->createNotFoundException('Unable to find DataDFu1 entity.');
    }
    $entity->setFu1AgeRef("5");
    //$pSnnid = $entity->getPSnnid();
    $entity->setFu1KfPatientid($entity1);
    echo $entity->getFu1AgeRef(); 
    $em->persist($entity);
    $em->flush();
    $session->getFlashBag()->add(
            'notice',
            'Your changes to the DataDFu1 of ID: "'."xyz". '" was saved!'
    );
   // return $entity->getPKpPatientid();
}

每当我想要安全的东西时,我都会收到此错误:NotNullConstraintViolationException

NotNullConstraintViolationException

据我所知,FU1_Age_Ref没有值null,这就是为什么我用这行代码扩展我的函数的原因:

        $entity->setFu1AgeRef("5");

但是实体没有得到这个值(我无法理解),但例外仍然存在。所以我不知道如何解决这个问题。

实体定义:

  fu1AgeCalc:
        type: decimal
        nullable: true
        precision: 18
        scale: 4
        column: FU1_Age_calc
    fu1AgeRef:
        type: integer
        nullable: true
        column: FU1_Age_ref
    fu1DevTest:
        type: decimal
        nullable: true
        precision: 18
        scale: 4
        column: FU1_Dev_test

感谢您的反馈。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,最后是数据库中的配置错误。 FU1_poorComp不允许为空。