0

私は次のコードを持っています:

        $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();
    }

しかし、理解できないエラーが発生します。

「国」には国があり、国に関連する「会社」があります。国と会社は多対多の関係です。また、「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

誰かが理由を知っていますか?

ありがとう

4

1 に答える 1

0

ああ、いや。私はとても愚かだと感じます。間違った外部キー名-.-。

解決しました。

于 2013-01-26T17:27:15.757 に答える