[英]Symfony3 Doctrine querybuilder
我正在使用Doctrine ORM編寫Symfony3應用程序。
我有一個實體,其中包含我的所有屬性以及其設置方法和獲取方法。
嘗試構建以便我可以根據電子郵件地址檢索行。
my query:
/**
* @param $email
*/
public function getUserByEmail($email)
{
$repository = $this->db->EntityManagerORM()
->getRepository('TestBundle:User');
$query = $repository->createQueryBuilder('t')
->where('t.emial = :email')
->setParameter(':email', $email)
->getQuery();
$test = $query->getResult();
var_dump($test);
$ this-> db是EntityManager,它是一項服務,在我的__construct中實例化。 所以我要做的就是檢索實體,他們創建了一個queryBuilder,我想在其中檢索電子郵件==到給定電子郵件的整行。
我得到的回應:
"Notice: Undefined index: [Semantical Error] line 0, col 63 near 'emial
=:ema':錯誤:類Test \\ TestBundle \\ Entity \\ User沒有字段或
名為emial的協會”
我的代碼中有任何可疑的...。
在setParameter函數中不需要:
。
代碼中的另一件事是,User表沒有名稱為emial
列。 仔細檢查並用適當的名稱替換。
因此,您的查詢將如下所示:
$query = $repository->createQueryBuilder('t')
->where('t.RIGHT_COLUMN_NAME = :email')
->setParameter('email', $email)
->getQuery();
在上面的代碼中,將RIGHT_COLUMN_NAME
替換為正確的列名。
這是電子郵件的拼寫。 更改為此:
$query = $repository->createQueryBuilder('t')
->where('t.email = :email')
->setParameter(':email', $email)
->getQuery();
那應該解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.