2012-03-09 12 views
2

に失敗それは働いていない理由を誰かが私に言うことができる:Doctrine2 findBy(=>配列( '値を') '小道具')

$this->doctrine 
    ->getEntityManager('default') 
    ->getRepository('\myVendor\myBundle\Entity\myEntity') 
    ->findBy(array('myProperty' => array('myValue'))); 

を以下に行いながら:

$this->doctrine 
    ->getEntityManager('default') 
    ->getRepository('\myVendor\myBundle\Entity\myEntity') 
    ->findBy(array('myProperty' => 'myValue')); 

最初のクエリ値を2番目は文字列ですが、配列です。

Notice: Undefined index: myProperty in /home/developer/public_html/myProject/vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 1324

それはバグです:?私は取得エラーです

+0

配列として値を使用して正確に何をしようとしていますか?私は '' prop '=> array(' x ') ' - これは何をすべきか?私はかなりファインダーメソッドが直接平等チェックをサポートしていることを確信しています –

答えて

0

教義\ ORM \存続\ BasicEntityPersisterが

$criteria 

があなたの

あるfindByを行う際にDoctrine \ ORM \ EntityRepositoryが

foreach ($criteria as $field => $value) { 

を実行で使用されるので、それはあります

array('myProperty' => 'myValue') 

「myValue」の代わりに配列を使用すると、単純に機能しません。この方法で使用するようには設計されていません。

+0

Thxたくさん!最後に、教義のJiraサイトでバグを埋めて、今解決しました! – user846226

+0

どうもありがとうございました:) –

+0

@ user846226 - どうやって解決しましたか?それを私たちと共有したいですか? – BentCoder