[英]Doctrine 1.2 - Building a query after user search input
我具有下表(文章,類別,關系)的結構:
articles
>id
>title
>body
cats
>id
>title
cat_article_relations
>id
>cat_id
>article_id
現在,我創建了一個頁面,用戶可以在其中選擇一個或多個類別(使用復選框)。 提交搜索表單后,我有一個數組,其中所有類別ID均已選中。 現在,當我嘗試加載具有所有選定類別的所有文章時,就會出現我的問題。
使用時:
...
->leftJoin('a.Cat_article_relations rl')
->andWhere('rl.cat_id = ?', $sg[0])
...
之所以有效,是因為我只尋找一個包含的類別。 一旦我添加了多個“-> andWhere”,並循環遍歷了我所有的類別ID(在我得到的數組中),它將不再起作用。 我檢查了Doctrine 1.2文檔是否有任何解決方案,但找不到任何東西。 “-> whereIn”和類似的沒有給我想要的結果。
我只想獲取所有與所有選定類別相關的文章。 也許有人可以給我一個提示:)
信息:如果您有一個用於純MySQL查詢的解決方案,那對我也將有很大幫助。 它不必用Doctrine編寫。
謝謝
我不確定我是否了解這種關系,但是應將其更改為:
->leftJoin('a.Cat_article_relations rl')
->andWhere('rl.cat_id = ?', $sg[0])
至
->leftJoin('a.Cat_article_relations rl WITH rl.cat_id=?', $sg[0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.