两个数据库表:
Users: id, title
Infos: id, type, user_id_createdby, user_id_addressedto, text
<小时/> 在Infos中,我有关于设置用户之间会议日期的记录:
Infos record: id: 1, type: "nextmeeting", user_id_createdby: 47, user_id_addressedto: 51, text: "2011/01/13"
在“nextmeeting”旁边我在用户之间也有其他类型的数据
<小时/> 当用户登录时,我通过收集来向他显示与他开会的用户列表:唯一user_id_addressedto
和 current_user => user_id_createdby
@repilents
,然后是User.find(:all, :conditions => {:id => @repilents})
如何按Infos.text中的日期对用户列表进行排序,其中type:“nextmeeting”?
这样的:
答案 0 :(得分:0)
如果您确定Infos中只有一行具有“nextmeeting”类型,则可以使用左外连接将用户链接到会议:
@users = User.joins("LEFT OUTER JOIN infos ON infos.user_id_createdby = users.id")
按降序排序:
@users = User.joins("LEFT OUTER JOIN infos ON infos.user_id_createdby = users.id").order("infos.text DESC")
现在有些随机评论:
type是保留字,不应将其用作列名(http://stackoverflow.com/questions/2293618/rails-form-not-saving-type-field-newbie)< / p>
将日期存储为文字会让您的生活变得困难
您可能需要重新考虑此通用“信息”列,并制作一个独特的会议模型。