doctrine2 arraycollection count()php

时间:2013-01-26 17:23:07

标签: php doctrine doctrine-orm arraycollection

我有以下代码:

        $countries = $em->getRepository("country")->findAll();
        $array = array();
        $count = 0;
        foreach($countries as $country){
            if(is_object($country)){
                if($country->getCompaniesCount() > 0)
                $array[$count] = $country;
                $count++;
            }
        }

调用的“getCompaniesCount”函数如下所示:

    public function getCompaniesCount(){
        return $this->_comapanies->count();
    }

但它会产生一个我无法理解的错误。

“国家”中有些国家,并且有与国家有关的“公司”。 所以国家和公司是ManyToMany-Relationship。并且“country”中的属性“_companies”被初始化为ArrayCollection以容纳公司。

但每次运行此代码时都会出现以下错误:

Catchable fatal error: 
Argument 1 passed to   Doctrine\ORM\Mapping\DefaultQuoteStrategy::getJoinTableName() must be an array, null given, 
called in /usr/share/pear/Doctrine/ORM/Persisters/BasicEntityPersister.php on line 965 
and defined in /usr/share/pear/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php on line 86

有没有人知道为什么?

感谢

1 个答案:

答案 0 :(得分:0)

哦,哦,没错。我觉得很蠢。 只是一个错误的外键名称-.-。

解决。