我无法通过以下代码调用findBy
到数组:
return $this->repository->findBy(array('secteur'=>$secteur),array('slug'=>$slug));
例外:
message: "Warning: trim() expects parameter 1 to be string, array given in C:\wamp\www\Symfonyv2\vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\BasicEntityPersister.php line 1168",
答案 0 :(得分:4)
在当前的Doctrine类之后,第一个数组是条件列表,第二个数组是请求的顺序(desc,asc):
/**
* Finds entities by a set of criteria.
*
* @param array $criteria
* @param array|null $orderBy
* @param int|null $limit
* @param int|null $offset
*
* @return array The objects.
*/
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
{
$persister = $this->_em->getUnitOfWork()->getEntityPersister($this->_entityName);
return $persister->loadAll($criteria, $orderBy, $limit, $offset);
}
所以你的方法似乎错了。也许你应该做这样的事情(我不知道你在secteur和slug中有什么)。
return $this->repository->findBy(array('secteur'=>$secteur,'slug'=>$slug));