现在,我正在开发一个简单的应用程序。它需要按照我们添加到对象的日期来获取关联对象。为此,我想根据pivot-table的id来订购它们。
我的应用看起来有点像这样:
class Product < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :products
end
但是,当用户想要购买产品时,我会在数据透视表courses_users
中添加新关系。然后,当我运行@product.users
时,我将按照创建的用户的顺序将它们恢复,而不是作为关系添加。
我尝试过创建查询范围,但它没有用。我还尝试在has_and_belongs_to_many
上创建订单,如下:
has_and_belongs_to_many :users, order: 'course_users.id ASC'
但这些似乎都不起作用,在日志中找不到ORDER
语句。
答案 0 :(得分:0)
将created_at字段添加到表中。
rails g migration AddTimestampsToCourseUsers created_at:datetime
然后你可以
@product.users.order "course_users.created_at ASC"