6

私はクラスのユーザーリポジトリを持っています

class userRepository extends EntityRepository
{

    function getuserData($id)
    {
        $query = $this->createQuery('
                SELECT c FROM AcmeBundle:User c 
                WHERE c.id = :id ORDER BY c.id ASC
            ')
            ->setParameter('id', $id);

        return $query->getResult();
    }
}

このエラーが発生しています

未定義のメソッド「createQuery」。メソッド名は、findBy または findOneBy で始まる必要があります。

4

4 に答える 4

9

ドキュメントによると

$em = $this->getEntityManager();
$query = $em->createQuery('
        SELECT p FROM AcmeStoreBundle:Product p 
        WHERE p.price > :price 
        ORDER BY p.price ASC
    ')
    ->setParameter('price', '19.99');

$products = $query->getResult();
于 2012-07-31T06:18:31.063 に答える
2

この回答がかなり遅いことはわかっていますが、 userRepository クラスを User エンティティで定義する必要があります。

use Doctrine\ORM\Mapping as ORM
/**
 * @ORM\Entity(repositoryClass="NameOfBundle\Repository\UserRepository")
class User
{
    ...
}
于 2012-12-09T16:52:53.737 に答える