0
我在symfony2應用程序中創建了兩個類之間的關係。它是這樣設計的,tableB與tableA相關我在tableA表(作爲超級實體)中輸入了數據,而在我的控制器中,我使用json發佈了一個向tableB表中插入數據的帖子。從tableB的的引用外鍵取整數,但是當我試圖讓從郵遞員後我得到這個奇怪的錯誤500內部服務器錯誤 - 參數傳遞必須是類類型,但整數給 - symfony2
{
"message": "Expected value of type "\myBundle\Entity\TableA" for association field "\myBundle\Entity\Platforms#$dataValue", got "integer" instead.",
"class": "Doctrine\ORM\ORMInvalidArgumentException",
,這是我的JSON格式我從郵遞員
{
"id": 6,
"variable": false,
"variable": true,
"variable": true,
"variable": true,
"variable": false,
"variable": true,
"variable": true,
"variable": true,
"variable": false,
"variable": false,
"variable": true,
"fkValue":3 //area of challenge
}
張貼在我實體類我有這樣的代碼片段
/**
*
*
* @param \MyBundle\Entity\TableA $dataValue
* @return Platforms
*/
public function setValue(\Api3Bundle\Entity\TableA $dataValue = null)
{
$this->dataValue = $dataValue ;
return $this;
}
================ EDITED ==================
這是我如何從控制器將數據插入到表B,以表A的外鍵字段
//getting the value from request
$variable = $request->get('variable');
//setting the value for persistence
$data->setValue($variable);//area of challenge
$em = $this->getDoctrine()->getManager();
$em = $this->getDoctrine()->getManager();
$em->persist($data);
我不知道如果我在正確的軌道上,但可以將某些告訴我如何將數據插入到使用郵遞員的json的外鍵字段。許多感謝
是您的JSON被髮送到API被轉換爲'\ Api3Bundle \實體\ TableA'實例?你的setValue需要一個TableA實體,而不是json。 –
@Andrew Nolan剛剛編輯我的問題,你可以通過發表一個答案或建議 – parker
來幫助一點,所以如果'變量'不是TableA的一個實例,那麼你將得到你遇到的500錯誤。將您的方法更改爲接受一個整數作爲參數,或者實例化一個TableA實體並將其傳遞給您的'setValue()'方法。 –