gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 23:15:18 25 4
gpt4 key购买 nike

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

500 Internal Server Error with a Integrity constraint violation:

这是POST请求的 Controller

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

这是来自 postman 的示例 JSON 帖子

{
"accountsfk":2
}

注册有账户的外键。在发出发布请求时,我收到此错误

使用参数 ["myname", "mylastname", "emails123@email.com", "passwords", "passwords", null]:

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

请问我无法向注册表中插入记录是怎么回事

最佳答案

我认为 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 传递到 setAccountfk

你有 setAccountfk,我认为这不是必需的,你只需要 setAccounts 来关联注册到帐户

关于php - Symfony:违反完整性约束:500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44162035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com