與Dotrine本身相比,可能與SQL更相關。如何對查詢結果中相關(聯合)表的字段進行排序?
我有兩個表,在架構文件大致是這樣規定的:
Project:
columns:
name: { type: string(255), notnull: true }
Task:
columns:
project_id: { type: integer, notnull: true }
name: { type: string(255), notnull: true }
relations:
Project: { onDelete: CASCADE, local: project_id, foreign: id, foreignAlias: Tasks }
我想獲得一個項目,一個列表它的任務,由名稱排序。
$projectWithTasks = Doctrine_Core::getTable("Project")->createQuery("p")
->leftJoin("p.Tasks t")
->where("p.id = ?", $projectId)
->orderBy("t.name ASC")
->fetchOne();
很明顯,它不會工作。我一直在尋找解決方案,但可能我使用了錯誤的詞語,因爲我找不到任何有用的信息。我會非常感謝任何幫助。
嗯,奇怪。我看不出爲什麼這不起作用。另一種方法是,如果您始終希望按照相同的條件排序,則可以在映射中指定順序。看看這個例子http://www.doctrine-project.org/blog/cookbook-recipe-relation-dql-behavior – ZolaKt 2012-01-17 13:07:00
好吧,我看起來像我錯了,說這不起作用,似乎足夠這個簡單例。 – Przemek 2012-01-18 11:01:17