2016-09-12 26 views
0

我有一個名爲「customer」的實體。在這個實體有一個OneToMany-關聯到另一個實體「客戶狀態」。 我想獲得所有客戶對象,其中一個客戶狀態字段就像xyz。symfony doctrine:找到其中一對多關聯之一就像值的對象

這不是一個問題,如果我做出這樣的QB:

$qb->andWhere($qb->expr()->like('s.comment', ':comment')); 
$qb->setParameter('comment', "Created at %"); 

這個唯一的問題是,我得到的所有客戶與客戶,狀態像查詢。但只有這些狀態。如果類似查詢適用,我想要所有狀態。

我已經搜索了這個,但沒有發現這樣的東西。 任何想法?

+1

?您正試圖獲取客戶狀態對象,而您正在獲取客戶對象?另外,你在哪裏運行這個代碼,在客戶存儲庫? –

+0

我想要獲取客戶對象,其中一個客戶狀態對象具有類似查詢的字段。通過附加的代碼,我得到了特別是客戶狀態對象的客戶對象,但是我想要所有的客戶狀態對象,只要其中一個客戶狀態對象具有類似查詢的字段。我在客戶回購中運行它。 –

回答

0

經過幾杯啤酒後,我發現了雁。對於預期的結果,我不應該在選擇操作中定義客戶狀態實體。只需選擇父實體。 所以這個:

$qb 
    ->select(['c']) 
    ->leftJoin('customer.statuses', 's') 
    ->andWhere($qb->expr()->like('s.comment', ':comment')) 
    ->setParameter('comment', "Created at %"); 

是你能澄清你的問題的正確途徑,而不是

$qb 
    ->select(['c', 's']) 
    ->leftJoin('customer.statuses', 's') 
    ->andWhere($qb->expr()->like('s.comment', ':comment')) 
    ->setParameter('comment', "Created at %"); 
相關問題