gpt4 book ai didi

sql - Rails 排序方法;名为 :order 的列

转载 作者:行者123 更新时间:2023-12-01 10:05:25 25 4
gpt4 key购买 nike

我有一个模型练习,它有 :circuit 和 :order 列(等等)。在一个 View 中,我尝试先按 :circuit 排序,然后按 :order 排序。当我使用以下内容时:

@schedule.exercises.order(:circuit).each do |exercise|

它按预期工作。但是,当我尝试添加 :order 列时:
@schedule.exercises.order(:circuit, :order).each do |exercise|

我收到以下错误:
SQLite3::SQLException: near "order": syntax error: SELECT "exercises".* FROM "exercises"  WHERE "exercises"."schedule_id" = 1 ORDER BY circuit, order

当我单独传递 :order 列时,也会发生同样的错误:
@schedule.exercises.order(:order).each do |exercise|

SQLite3::SQLException: near "order": syntax error: SELECT "exercises".* FROM "exercises" WHERE "exercises"."schedule_id" = 1 ORDER BY order

我假设这是因为列名 (:order) 与 SQL 方法名 ( order) 相同。我想知道除了更改我的列标题之外是否还有其他方法可以解决这个问题?

谢谢,
斯图尔特

最佳答案

更改列名是唯一明智的选择。将其更改为“位置”之类的内容。

关于sql - Rails 排序方法;名为 :order 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com