[英]Active record query enum column
我有一个看起来像这样的查询
where("user_id = ? OR privacy = ?", user_id, :public_activity)
和枚举
enum privacy: [:public_activity, :friends_activity, :private_activity]
:public_activity
在此查询中不起作用,仅作为字符串发送。 是否有任何干净的方法可以编写此查询而不仅仅是使用整数,而在读取查询时将很难理解该整数?
您可以使用key来获取整数,这是一个示例 :
# app/models/user.rb
class Model < AR
enum privacy: [:public_activity, :friends_activity, :private_activity]
end
获取状态整数:
Model.privacies[:public_activity] => 0
where
方法:
where("user_id = ? OR privacy = ?", user_id, Model.privacies[:public_activity])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.