2017-05-24 119 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

好吧我已經看到轉儲,似乎是正確的所以我認爲實體註冊存在問題。你能把它發佈到問題中嗎? –

相關問題