2017-05-24 73 views
1

我在symmfony应用程序中的两个表之间有一对多的关系。其中一个表的注册方法接受JSON POST请求。在试图将数据从MySQL接口一切手动插入到数据库是好的,但是当我尝试使用POST请求执行插入我得到Symfony:完整性约束违规:500内部服务器错误

500 Internal Server Error with a Integrity constraint violation: 

这是POST请求的控制器

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

这是从邮递员样品JSON后

{ 
    "accountsfk":2 
    } 

注册有一个外键账户。在作出POST请求我得到这个错误

使用参数[" MYNAME "," mylastname "," [email protected] ","密码","密码",空]:

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

请问我做错了,我无法将记录插入到注册表中

+0

你能请出示你的实体? –

+0

哪个实体 – parker

+0

实体注册请 –

回答

1

我认为accountsfk是一个forei GN关键,所以你需要的帐户没有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到有关登记占

+0

仍然有错误 – parker

+0

如果有更多的信息,请阅读日志文件,尝试var_dump $帐户来检查是否有帐户,尝试更新与注册实体的问题 –

+0

好吧我已经看到转储,似乎是正确的所以我认为实体注册存在问题。你能把它发布到问题中吗? –