ruby 如何在同一查询中组合合并强制转换SQL和键/值属性

qij5mzcb  于 12个月前  发布在  Ruby
关注(0)|答案(2)|浏览(124)

如何将这两个条件合并组合到用于查询的相同参数Map中?

Post.where('created_at >= ?', 2.weeks.ago)

个字符
到目前为止,我一直在建造它们,

Post
.where(:site_id => site_id)
.where('created_at >= ?', 2.weeks.ago)


但鉴于现在的情况我有点被困住了

# With the addition being the sql casting query
params = {:site_id => site_id}
Post.where(params)


我不知道该怎么做,也不知道该怎么称呼它。有什么帮助吗?

信息

Rails 7.0
Ruby 3.2.2

ef1yzkbh

ef1yzkbh1#

Post
  .where(:site_id => site_id)
  .where('created_at >= ?', 2.weeks.ago)

字符串
转化为

params = { site_id: site_id, created_at: (2.weeks.ago..) }
Post.where(params)


通过使用日期条件的无限范围,Ruby on Rails能够在相同的SQL条件中进行转换。

h5qlskok

h5qlskok2#

在where Query中,可以对created和site_id参数使用AND。

Post.where('created_at >= ? AND site_id = ?', 2.weeks.ago, site_id)

字符串

相关问题