0
我有這樣呼叫一個成員函數setCode()在非對象錯誤在Symfony2的
public function updateAction()
{
$em = $this->getDoctrine()->getManager();
$codesArray=array('AFGHANISTAN;AF','ÅLAND ISLANDS;AX','ALBANIA;AL');
foreach ($codesArray as $detail)
{
$detailArray=explode(";",$detail);
$country=$em->getRepository('TestBundle:Countries')
->findOneBy(array('name'=>$detailArray[0]));
$country->setCode($detailArray[1]);
}
$em->flush();
}
一個cotroller動作它顯示錯誤
FatalErrorException: Error: Call to a member function setCode() on a non-object
但是當我更換
$country=$em->getRepository('TestBundle:Countries')
->findOneBy(array('name'=>$detailArray[0]));
與
$country=$em->getRepository('TestBundle:Countries')
->find('1');
表示它將更新第1條記錄。請給我這個解決方案。
實體類是國家唯一的......我已經驗證.. –
我怎樣才能在Symfony2中實現這一@nifr '的foreach($ codesArray爲$細節) \t { \t \t $ detailArray = explode(「;」,$ detail); \t \t $ query =「update country set code =」。$ detailArray [1]。「where name =」。$ detailArray [0]; \t}' –
答案更新... – nifr