Base de données de la Recherche à l'Aide de la Doctrine et de la Symfony2

Donc je suis en train d'essayer d'effectuer une recherche simple à utiliser Symfony2 et Doctrine. Quelque chose de semblable à ceci: http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/searching.html

J'ai actuellement le suivant YAML fichier de configuration pour générer mes entités. Il génère mon class Style entité correctement en classe.

...\Style:
    type: entity
    table: styles
    id:
        id:
            type: integer
            generator:
                strategy: IDENTITY
    actAs:
        Searchable:
            fields: [title]
            batchUpdates: true
    fields:
        title:
            type: string
            length: 150
            unique: true

Dans mon contrôleur, je suis en train de lancer une recherche sur la table en se basant sur une chaîne.

public function searchAction($pattern) 
{
    $repository = $this->getDoctrine()->getRepository('..:Style');
    $search = $repository->search($pattern);

    return $this->outputize($search);
}

Cependant, lorsque j'essaie d'exécuter le code, j'obtiens l'exception suivante.

Undefined method 'search'. The method name must start with either findBy or findOneBy!

Suis-je générer mon entités correctement ou est-il quelque chose que je suis clairement en manque?

Sur une note de côté, quand je regarde mon Entity/Style.php après la génération, il n'existe pas de méthode claire ->search(), est la fonction qui est censé être généré par Symfony ici?

Sachez que par défaut, la doctrine de la version utilisée dans symfony 2 est 2.x, et que ce que vous obtenez en faisant $this->getDoctrine() est probablement une doctrine 2 classe, et non pas une doctrine 1 classe ...

OriginalL'auteur Steven Lu | 2012-07-17