在我的申請,我經常做的教義這樣的查詢:水合物學說收集與其他模型比FROM子句
$coms = Doctrine_Core::getTable('Comment')
->createQuery('c')
->join('c.article a')
->join('a.Writter w')
->where('w.something = ?', $something);
我想在writter的條件來提取文章的評論。 Le查詢從評論表開始(因爲最後,我們想要一個評論的學說集合),接下來我加入所有文章,然後加入所有的作者。最後,我對作者的條件進行了限制。
該查詢可以與在此順序的接縫更加優化:
$coms = Doctrine_Core::getTable('Writter')
->createQuery('w')
->select('c.*')
->join('w.Article a')
->join('a.Comments c')
->where('w.something= ?', $something);
像這樣,通過關節操縱線的數目是更降低,因爲在writter限制在製成。第一。
但是與此代碼,我得到一個錯誤:
的根類的查詢(別名w)爲必須具有至少一個字段選擇。
的解決方案確實存在把這個順序關節和最終獲得評論的學說收藏?
在你的第二個查詢,什麼是「R」? 「W」和「r」,「c」或「a」之間沒有關係。 – nacmartin 2010-07-25 14:53:32
我已糾正此問題。 W(ritter)= R(edacteur)用法語。 - 一位作家寫了很多文章。 - 一篇文章包含很多評論。 – Julien 2010-07-25 15:30:27