有人可以告诉我为什么这不起作用:
$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 :(得分:0)
这是因为Doctrine \ ORM \ EntityRepository使用的Doctrine \ ORM \ Persisters \ BasicEntityPersister执行
foreach ($criteria as $field => $value) {
在做findBy时,
$criteria
是你的
array( 'myProperty' => 'myValue' )
所以如果你使用数组而不是'myValue',它将无法正常工作。它的设计不是以这种方式使用的。