ruby-on-rails – Rails:如何找到()某些字段中唯一的所有记录?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails:如何找到()某些字段中唯一的所有记录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个“请求”对象的列表,每个对象具有相当正常的活动记录质量.请求表与具有连接表’games_requests’的游戏表相关联,使得请求具有request.games数组.

问题是,有没有办法找到最后一个唯一的请求,其中唯一性是由游戏列和其他几个定义的,但特别是忽略其他列(如请求用户的名字?)?

我看到一个语法,如“find(:all,:limit => 5,:include => [:games,:stage])’,但这是返回的重复.

谢谢…

编辑:感谢混乱的一个很好的回应.你让我真的很亲近,但我仍然需要返回是有效的请求对象:在请求的行中不同的前5个记录.我可以在构建它时使用find,然后对表中与第一个查找返回的每个集匹配的第一行进行第二次查找.

编辑:

Games.find(
    :all,:limit => 5,:include => [:games,:requests],:group => 'games,whatever,whatever_else'
)

…给出了一个sql错误

MysqL::Error: Unknown column 'games' in 'group statement': SELECT * FROM `games`  GROUP BY games

我做了一些改变,我认为对我的项目是正确的;获取请求列表而不是游戏等:

Request.find(
    :all,:order=>"id DESC",:limit=>5,:include=>[:games],#including requests here generates an sql error
    :group=>'games,etc'  #MysqL error:  games isn't an attribute of requests
    :conditions=>'etc'
)

我想我将不得不使用:join =>选项这里.

解决方法

Games.find(
    :all,whatever_else'
)
原文链接:https://www.f2er.com/ruby/266080.html

猜你在找的Ruby相关文章