2010-05-04 60 views
0

我有型号Team,并且我有(即)team = Team.first :offset => 20。现在我需要在db表中获得我的team的位置号码。物体在数据库中的位置

我能做到这一点的红宝石:

Team.all.index team #=> 20 

但我相信,我可以把它写在SQL,这将是对我很大的表便宜。

回答

1

假设顺序是由ID倒序制造:

+1

如果团队可以从数据库中删除,这项工作是否可行? – 2010-05-04 08:50:08

+0

是的。这是好方法!不是很灵活。但对我来说就够了。 – fl00r 2010-05-04 08:51:27

0

我不确定我是否在跟随,但是会将位置值用于很多情况,可能值得确保它设置为保存。一个团队会随着时间的推移改变立场还是静态的?

我不认为数据库中记录的位置是数据库真正关心的事情之一,这种数据应该由您来设置。

根据数据库的不同,您可能可以使用LIMIT子句,但不能用它来查找某一行的位置。例如,只需选择20到21行,但它会因排序顺序而异。

SELECT * FROM teams LIMIT 20,21 

我认为在你的模型上设置一个位置属性或者有一个连接模型是要走的路。

+0

位置总是变化,因为删除和添加数据的,我不希望添加位置的模型。 _vlad.zloteanu_真的提出了很好的解决方案 – fl00r 2010-05-04 08:50:12