0

しかし、登録エンティティを追加@ORM\Entity(repositoryClass="Repair\StoreBundle\Entity\registrationRepository")しましたが、まだ近くでエラーが発生していますcreateQuery()

私の registrationRepository.php は

use Doctrine\ORM\EntityRepository;

/**
 * registrationRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */

class registrationRepository extends EntityRepository
{

    function __construct() {
    }

    public function auth($name,$password)
    {
        $em = $this->getEntityManager();

        $result = $em->createQuery("SELECT r.username,r.password FROM RepairStoreBundle:registration r where r.username='".$name."' and r.password='".$password."'")->getResult();
        return  $query;

    }   
}

私のコントローラーはこの方法で呼び出しています

$test = new registrationRepository();
$result = $test->auth($name);
4

1 に答える 1

4

Controller の手動での作成new registrationRepository(インスタンス化) は、間違った方法です。代わりに、doctrinegetRepositoryメソッドを使用する必要があります。

$em = $this->getDoctrine()->getManager();
$registrationRepo = $em->getRepository('RepairStoreBundle:registration');
$result = $registrationRepo ->auth($name);

ドキュメントを読んでください。

アップデート

__constructまた、リポジトリ クラスからメソッドを削除する必要があります。

于 2013-05-14T10:15:22.750 に答える