【问题标题】:Unable to Use Repository Class in Symfony2 with MongoDB无法将 Symfony2 中的存储库类与 MongoDB 一起使用
【发布时间】:2014-03-25 07:08:30
【问题描述】:

您好,我在 Symfony 中调用存储库类中定义的自定义函数时遇到此错误

回购类中的代码

class TaskRepository extends DocumentRepository
{

public function searchByFirstLetter($letter)
{

    $query = $this->getDocumentManager()            
    ->createQuery('SELECT u FROM WorkStackTaskBundle:Users u WHERE u.name LIKE :name')
    ->setParameter('name', $letter.'%');
    try {
    return $query->getResult();
    } catch (\Doctrine\ODM\NoResultException $e) {
    return null;
    }}

控制器中的代码 $getasllusers = dm->getRepository('WorkStackTaskBundle:Users')->searchByFirstLetter($_GET['keyword']);

但我收到以下错误。

未定义的方法“searchByFirstLetter”。方法名称必须以 findBy 或 findOneBy 开头! 强文本 请提出可能的问题。

谢谢提前

【问题讨论】:

标签: jquery mongodb symfony


【解决方案1】:

您应该在两个位置定义您的自定义存储库类

/**
 * @MongoDB\Document(repositoryClass="Work\StackTaskBundle\Repository\UserRepository")
 */
class Users

# src/Work/StackTaskBundle/Resources/config/services.yml
_repository:
    class: Work\StackTaskBundle\Repository\UserRepository
    factory_service: doctrine_mongodb.odm.document_manager
    factory_method:  getRepository
    arguments: ["Work\StackTaskBundle\Document\Users"]

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多