如何在ZF2上获得带有学说的外键

时间:2016-03-15 16:29:45

标签: php doctrine-orm zend-framework2 doctrine

我有两个表名为Country(id,name)其他区域(id,name,idFCountry)

我在我的控制器中执行此操作:

$area = new Area();
$area->setNumarea($numarea);
$area->setNamearea($namearea);
$area->setIdfkcountry($idFCountry);

我收到此错误:

  

可捕获的致命错误:参数1传递给   Synchro \ Entity \ area :: setIdfkcountry()必须是。的实例   同步\实体\国家

如何解决此问题

提前致谢

1 个答案:

答案 0 :(得分:0)

我猜$ idFCountry不是一个对象,可能(基于变量名)你试图传递一个字符串或整数。

似乎你正在使用Zend,所以解决这个问题的一个简单方法就是根据country id获取对象,假设$ idFCountry是一个包含id的字符串:

$repository = $this->getEntityManager()->getRepository('Synchro\Entity\Country');
$countryObject = findOneBy(array('idcountry' =>$idFCountry));

$area->setIdfkcountry($countryObject);