【问题标题】:How can I get Foreign Key with doctrine on ZF2如何在 ZF2 上获得带有教义的外键
【发布时间】:2016-07-01 05:25:51
【问题描述】:

我有两张表,一张叫 Country (id,name),另一张叫 Area (id,name,idFCountry)

我在我的控制器中这样做:

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

我收到此错误:

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

我该如何解决这个问题

提前致谢

【问题讨论】:

    标签: php doctrine-orm zend-framework2 doctrine


    【解决方案1】:

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

    您似乎正在使用 Zend,因此解决此问题的一种简单方法是根据国家/地区 id 获取对象,假设 $idFCountry 是包含该 id 的字符串:

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

    【讨论】:

    • ,谢谢我这样做,但我有这个错误标识符 idcountry 缺少用于查询 Synchro\Entity\Country 提前谢谢
    • 你能试试 $countryObject = $repository->findBy(array('idcountry' =>$idFCountry));而不是 find 方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    相关资源
    最近更新 更多