Say*_*yuj 78 ruby activerecord
我想获取created_at字段小于今天(日期)的所有记录.有什么像:
MyTable.find_by_created_at(< 2.days.ago)
Run Code Online (Sandbox Code Playgroud)
tok*_*and 146
使用ActiveRecord的标准方式:
MyModel.where("created_at < ?", 2.days.ago)
Run Code Online (Sandbox Code Playgroud)
使用底层的Arel接口:
MyModel.where(MyModel.arel_table[:created_at].lt(2.days.ago))
Run Code Online (Sandbox Code Playgroud)
在Arel上使用薄层:
MyModel.where(MyModel[:created_at] < 2.days.ago)
Run Code Online (Sandbox Code Playgroud)
使用吱吱声:
MyModel.where { created_at < 2.days.ago }
Run Code Online (Sandbox Code Playgroud)
And*_*eas 13
要获取MyTable2 天前创建的所有记录:
MyTable.where(created_at: Date.new..2.days.ago)
Run Code Online (Sandbox Code Playgroud)
请注意,您也可以寻找记录包含的字段在类似的方式对未来的字段,即获得的所有记录MyTable与event_date至少2天从现在开始:
MyTable.where(event_date: 2.days.from_now..DateTime::Infinity.new)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40626 次 |
| 最近记录: |