Symfony2 - FindBy To Arrays参数

时间:2014-04-28 10:06:01

标签: symfony doctrine

我无法通过以下代码调用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",

1 个答案:

答案 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));