繁体   English   中英

如何为此做Rails Active Record查询

[英]How to do Rails Active Record query for this

我需要按国家/地区过滤控制器中的模型。 我的模型有4个位置字段,

loc1, loc2, loc3 and loc4

国家在loc3loc4 如果国家在loc3loc4为空白。

我的模型上有一个名为country的方法,该方法可以返回该国家,但是我无法在Active Record查询中使用该方法。

我该如何查看loc3和loc 4的AR查询,如果loc4为空,则使用loc3 ad,如果loc4不为空,则使用loc4。

有任何想法吗?

谢谢

如果您使用的是Postgres或mysql,则可以使用COALESCE函数

Model.select("COALESCE(loc4, loc3) AS location")

在您的控制器中,您可以说

model.location

只需使用常规的where方法(如果为空白,则表示"" )。

Model.where(country: (loc3 || loc4))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM