我在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)
我无法将记录插入注册表
,这是错误的答案 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才能将关系注册到帐户