rails活动记录中的Mysql查询
如何将此Mysql查询转换为由rails活动记录运行rails活动记录中的Mysql查询,mysql,ruby-on-rails,rails-activerecord,Mysql,Ruby On Rails,Rails Activerecord,如何将此Mysql查询转换为由rails活动记录运行 从opentimes中选择*,其中id=1并打开NOW() 任何帮助都将不胜感激。OpenTimes.where(id:1) 假设您遵循约定,并且ID是主键,则不需要查询的第二部分。即使如此,它仍然是: OpenTimes.where(id:1,'openNOW())OpenTimes.where(id:1) 假设您遵循约定,并且ID是主键,则不需要查询的第二部分。即使如此,它仍然是: OpenTimes.where(id:1,“openNO
从opentimes中选择*,其中id=1并打开NOW()代码>
任何帮助都将不胜感激。OpenTimes.where(id:1)
假设您遵循约定,并且ID是主键,则不需要查询的第二部分。即使如此,它仍然是:
OpenTimes.where(id:1,'openNOW())
OpenTimes.where(id:1)
假设您遵循约定,并且ID是主键,则不需要查询的第二部分。即使如此,它仍然是:
OpenTimes.where(id:1,“openNOW()”)
假设您的模型名是OpenTime,列是id,则打开和关闭。
上述sql对应的活动记录查询将为:
OpenTime.where("entity_id = ? AND created_at < ? AND updated_at > ?", 1, Time.now, Time.now)
OpenTime.where(“实体id=”和在<创建\u,并在>更新\u?”,1,Time.now,Time.now)
假设您的模型名为OpenTime,列为id,则打开和关闭。
上述sql对应的活动记录查询将为:
OpenTime.where("entity_id = ? AND created_at < ? AND updated_at > ?", 1, Time.now, Time.now)
OpenTime.where(“实体id=”和在<创建\u,并在>更新\u?”,1,Time.now,Time.now)
在Opentime模型中定义一个范围:
class Opentime < ActiveRecord::Base
...
scope :currently_open, -> { where('NOW() BETWEEN open AND closed') }
...
end
在Opentime模型中定义范围:
class Opentime < ActiveRecord::Base
...
scope :currently_open, -> { where('NOW() BETWEEN open AND closed') }
...
end
ActiveRecord有一个方法,因此可以简单地使用它:
Opentime.find_by_sql("SELECT * FROM opentimes WHERE id=1 AND open < NOW() AND closed > NOW();")
Opentime.by_sql查找_(“从opentimes中选择*并打开NOW();”)
ActiveRecord有一个方法,因此可以简单地使用它:
Opentime.find_by_sql("SELECT * FROM opentimes WHERE id=1 AND open < NOW() AND closed > NOW();")
Opentime.by_sql查找_(“从opentimes中选择*并打开NOW();”)