与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