Fehler mit einer Abfrage - Doctrine2/Symfony2

Ich versuche, führen Sie eine einfache Abfrage, aber ich kann nicht verstehen, wo liegt mein Fehler. Bitte um Hilfe!!

Dies ist in der repository-Klasse:

public function searchFriends ($param)
    {
         return $this->getEntityManager()
            ->createQuery('SELECT f FROM EMMyFriendsBundle:Friend f WHERE f.name='.$param)
            ->getResult();
    }

Und dies ist, wie rufe ich es aus der controller-action:

 $em = $this->getDoctrine()->getEntityManager();
 $result = $em->getRepository('EMMyFriendsBundle:Friend')
              ->searchFriends($search->getWords()); 

Wenn es auf diese Weise, bekomme ich die folgende Fehlermeldung:

[Semantical Error] line 0, col 54 near 'Maria': Error: 'Maria' is not defined.
500 Internal Server Error - QueryException

Habe ich den gesuchten Wert in Anführungszeichen in dieser Weise:

public function searchFriends ($param)
    {
         return $this->getEntityManager()
            ->createQuery('SELECT f FROM EMMyFriendsBundle:Friend f WHERE f.name=" '.$param ' " ')
            ->getResult();
    }

aber dann bekomme ich

[Syntax Error] line 0, col 59: Error: Expected end of string, got ' " '
500 Internal Server Error - QueryException

Könnten Sie mir bitte sagen, wie man die Abfrage richtig? Vielen Dank im Voraus!


BEARBEITEN

Ich auch so probiert:

public function searchFriends ($param)
{
     $q = $this
        ->createQueryBuilder('f')
        ->where('f.name = :name')
        ->setParameter('name', $param)
        ->getQuery();

     return $q->getResult();
}

mit dabei:

 $em = $this->getDoctrine()->getEntityManager();
 $result = $em->getRepository('EMMyFriendsBundle:Friend')
              ->searchFriends($search->getWords());

und es ist workiiing

InformationsquelleAutor Faery | 2012-09-11
Schreibe einen Kommentar