(我想张贴这对CFWheels谷歌集团(两次),但由于某种原因从来没有出现在我的消息。在该列表主持?)中选择特定的加盟记录来自的findAll()使用的hasMany()包括
这是我的问题:我正在研究Wheels上的CF上的社交网络应用程序,这与我们在Chris Peters的精彩教程中熟悉的那个应用程序不太相似。不过,我需要在用户目录中显示最新的状态消息。我有hasMany(“状态”)的用户模型和belongsTo(“用户”)的状态模型。所以这里是我开始的代码:
users = model("user").findAll(include="userprofile, statuses");
这当然会返回状态表中每条状态消息的一条记录。大规模的矫枉过正。所以下次我尝试:
users = model("user").findAll(include="userprofile, statuses", group="users.id");
越来越近了,但现在我们正在为每个用户第一状态记录(最低status.id),当我想选择最新状态。我认为在直接SQL中,我会使用子查询来重新排序状态,但这在Wheels ORM中不适用于我。那么是否有另一种干净的方式来实现这一点,或者我将不得不拖动一个巨大的查询结果或将状态对象反馈到我的CFML中,然后在我循环时将其过滤掉?
嘿克里斯。非常感谢(通常我们其他人都可以访问CFW!)。财产()解决方案是一个好的开始(这正在盯着我),但正如它所写的,它只是一次获得最新的状态。我需要每个用户的最新状态(如果适用)(有些根本没有状态)。 – 2012-07-05 17:19:39
对不起。我的编辑工作在哪里向子查询中添加了“WHERE”子句? – 2012-07-05 17:36:15
嗯,我在最后一次回应之前试过,但它所做的只是获取第一条记录的消息。我有4个测试用户和用户和用户配置文件中的记录。其中两人至少有一个发布状态;另外两个没有。该状态只能抓取user.id = 1,所以大概是第一个被检查。之后,我会为所有其他3个用户的状态返回一个“”值。 – 2012-07-05 17:43:55