1
我有2個與ManyToMany關係鏈接的Doctrine表。Doctrine 2,ManyToMany搜索
表:項
表:標籤
我希望能夠找到有多個或一個標籤(S)每標籤,我輸入匹配的條目。
例如:En條目「foo」具有標籤「1」和「2」。如果我試圖通過標籤「1」找到每個條目,我找到這個條目,如果我再次搜索「1」和「2」,我再次找到它,但是如果我添加了對標籤「3」的搜索, ,那麼該值不匹配。
到目前爲止,我發現了一些簡單的方法來實現這樣的事情,但它並沒有給我我想要的結果,我真的不知道我怎麼能用Doctrine 2進行這種搜索。
通常我會用關係表來做到這一點,但我不知道在Doctrine下是否有可能。
這是用於OR。它將匹配任何至少有一個標籤的條目。我想要的是一個AND,它將返回包含所有標籤的所有條目。我現在的工作是每個標籤1 INNER JOIN。但如果有的話,我會尋找更好的解決方案。 (並感謝相關的東西,將其用在其他地方!) – Manhim 2013-04-25 19:05:59
好吧,我現在明白你想要什麼。 afaik,你不能做得更簡單,使用子查詢會使代碼更難讀。但即使你這樣做,那麼你也會失去「orderBy(相關性)」,因爲查詢會返回匹配所有標籤的結果。 – Zeljko 2013-04-26 13:08:29