2017-05-31 11 views
-1

我想構建一個查詢,從而我可以選擇特定職業指導者所關注的所有人。一個人可以由任何數量的職業指導者參加。我正在想這樣的一個查詢,但是不能像我對symfony的新手一樣,對此表示懷疑。選擇由特定職業指導者參加的聘用者表中的所有人

Select all persons where EngagedPersons.Persons id=1 and EngagedPersons.careerguides email = "email".

下面是我嘗試的表結構

|persons |   |engagedpersons|   |careerguide| 
|id  |   |id   |   |id   | 
|name |   |uniqucode  |   |name  | 
        |personfk  |   |specialty | 
        |careerguidefk | 
        |guidesemail | 

敬請幫助!

+0

它可能更容易,如果你發佈的實體(沒有方法,只是類+字段)。 – ccKep

+0

我已經映射出實體的關係,它在該級別上顯得很好,但我只需要教條查詢。 – parker

+0

如果我們有確切的映射關係,則學習查詢更容易編寫,這就是爲什麼我問。這可能是沿着'SELECT p FROM AppBundle:人員p左連接p.careerguide c WHERE c.email ='email';'。例如,您的表格中沒有與careerguide關聯的電子郵件,而上面的「示例查詢」正是針對此問題進行查詢的。這並不容易給你一個確切的答案。 – ccKep

回答

1

正如chat討論:

$em = $this->getDoctrine()->getManager(); 
$repository = $em->getRepository("PalmyraApiBundle:Registration"); 

$queryBuilder = $repository->createQueryBuilder('registration'); 

$queryBuilder 
    ->join('registration.engagedsuper', 'engagedActivities') 
    ->join('engagedActivities.engagedweakgiver', 'caregiver') 
    ->where('registration.id = :id') 
    ->andWhere('caregiver.email = :email') 
    ->setParameter('id', $id) 
    ->setParameter('email', $email); 
相關問題