<% Activity.where("CAST(code as TEXT) not like ? and CAST(code as TEXT) != ? and CAST(code as TEXT) != ? and user_id IS NOT NULL and user_2_id IS NOT NULL", '%0%', '13', '14').limit(4).order("created_at DESC").each do |activity| %>
我会跟踪我的用户&#39;有特殊表的活动。要在首页上显示这些活动,我想选择来自四个不同人的最后四项活动(具有特定代码)。
我尝试了select |的不同变体不同的uniq和其他解决方案,但只接收崩溃或错误(例如&#34;不同需要在条款#34中排序;但没有解释如何在rails中正确执行此操作)。在尝试了三个小时之后,我即将放弃。非常欢迎!
编辑1:架构
create_table "activities", force: true do |t|
t.integer "user_id"
t.integer "recruiter_id"
t.integer "job_id"
t.integer "code"
t.integer "value"
t.integer "user_2_id"
t.datetime "created_at"
t.datetime "updated_at"
end
模型很简单:
belongs_to :user
belongs_to :user_2, class_name: "User"
belongs_to :recruiter
模型中的其他信息只定义了活动的编号方式,但这里没有相关的信息。
我有兴趣从四个不同的用户(不是同一个用户一次又一次)获得1-10的代码之间的最后四项活动。
编辑2: 代码只是一个数字。像1,2,3这样的代码是用户采取的动作,任何以0结尾的代码都是删除某些内容(不应该显示)。所以1是创建一个帐户,10是删除帐户。