(我尝试将其发布到 CFWheels Google 群组(两次),但由于某种原因,我的消息从未出现。该列表是否经过审核?)
这是我的问题:我正在 CF on Wheels 中开发一款社交网络应用程序,与我们在 Chris Peters 的精彩教程中所熟悉的应用程序并无太大区别。不过,在我的情况下,我需要在用户目录中显示最新的状态消息。我有一个带有 hasMany("statuses") 的 User 模型和一个带有 belongsTo("user") 的 Status 模型。所以这是我开始的代码:
users = model("user").findAll(include="userprofile, statuses");
这当然会为状态表中的每个状态消息返回一条记录。大量的矫枉过正。所以接下来我尝试:
users = model("user").findAll(include="userprofile, statuses", group="users.id");
越来越近了,但现在我们正在获取每个用户的第一个状态记录(最低的 status.id),当我想选择最近的状态时。我认为在直接 SQL 中,我会先使用子查询对状态进行重新排序,但这在 Wheels ORM 中对我不可用。那么是否有另一种干净的方法来实现这一点,或者我是否必须将一个巨大的查询结果或状态对象拖入我的 CFML,然后在循环时将它们过滤掉?