2012-03-09 4 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')); 

첫 번째 쿼리 값을 두 번째 것은 문자열 인 반면 배열입니다. 이 버그

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

$criteria 

하는 findBy를 수행 할 때 교리가 \ ORM \ 영속 \ BasicEntityPersister 교리에 의해 사용이 \ ORM \ EntityRepository가

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

을 수행하기 때문이다

array('myProperty' => 'myValue') 

그래서 'myValue'대신 배열을 사용하면 간단히 작동하지 않습니다. 이 방법으로 사용하도록 설계되지 않았습니다.

+0

Thx 많이! 마침내 교리 Jira 사이트에서 버그를 채우고 이제 해결되었습니다! – user846226

+0

다행히 도움이 되었습니까 :) –

+0

@ user846226 - 어떻게 해결 했습니까? 우리와 함께 나누고 싶습니까? – BentCoder