Symfony:完整性约束违规:500内部服务器错误

时间:2017-05-24 14:56:57

标签: php mysql json symfony

我在symmfony应用程序中的两个表之间有一对多的关系。其中一个表的注册方法接受JSON POST请求。在尝试从mysql接口手动将数据插入数据库时​​,一切都很好,但当我尝试使用POST请求执行插入时,我得到了

500 Internal Server Error with a Integrity constraint violation:

这是POST请求的控制器

                   $register->setConfirmpassword($params["confirmpassword"]);
                   $register->setAccountfk($params["accountsfk"]);

这是邮递员的样本JSON帖子

{
    "accountsfk":2
    }

注册具有帐户的外键。在发布帖子请求时,我收到此错误

使用params [" myname"," mylastname"," emails123@email.com","密码","密码",null]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'accountsfk' cannot be null (500 Internal Server Error)

我无法将记录插入注册表

,这是错误的

1 个答案:

答案 0 :(得分:1)

我认为accountsfk是一个外键,所以你需要将不是id的帐户传递给注册,如下所示:

$em = $this->getDoctrine()->getManager();       
$account = $em->getRepository('AppBundle:Account')->find($params["accountsfk"]);

$register->setFirstname($params["firstname"]);
$register->setLastname($params["lastname"]);
$register->setEmail($params["email"]);
$register->setPassword($params["password"]);
$register->setConfirmpassword($params["confirmpassword"]);
$register->setAccountfk($params["accountsfk"]);
$register->setAccounts($account]);

在第一行,我获得了该帐户,但我不知道哪个是您的捆绑帐户和您的帐户实体,但了解您必须将不是ID的实体传递到{{{1}这一点非常重要。 1}}

你认为setAccountfk不是必须的,我认为你需要setAccounts才能将关系注册到帐户