【问题标题】:Rails 3 sorting through parent associationRails 3通过父关联排序
【发布时间】:2011-06-20 22:56:54
【问题描述】:

我在 Rails 3 中有一个相当简单的问题,但我似乎找不到答案:

假设我有 2 个模型:客户、项目。

一个客户有_许多项目
项目属于_客户

现在我想使用 Active Record 按“客户名称”对项目列表进行排序(使用 Ruby 数组很容易,但我想一旦项目记录的数量增加,这会出现问题)。

如何使用 ActiveRecord 进行此操作?

【问题讨论】:

    标签: ruby-on-rails sorting activerecord


    【解决方案1】:
    Project.joins(:customer).order('customers.name')
    

    【讨论】:

    • 我确实尝试过那个,但这让我很受用:ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'customer.name' in 'order clause': SELECT projects.* FROM @987654323 @ INNER JOIN customers ON customers.id = projects.customer_id ORDER BY customer.name
    • 使用“customers.name”,而不是“customer.name”(已修复)
    • @valodzka,我知道这就是这个社区的意义所在,但感谢您的澄清。我使用的是单数语法,因为我有一个 has_one 关系,没有意识到它仍然需要是复数(customers.name vs customer.name),正如您在上面的评论和答案中所说的那样。在你回答它两年后,这对我帮助很大。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多