我有Domain
模型,其中ips
属性包含IP地址:
=> #<Domain:0x005640cef7cd48> {
:id => 1,
:name => "example.com",
:ips => [
[0] #<IPAddr: IPv4:1.2.3.4/255.255.255.255>
]
}
我想找到所有具有相同IP地址的域名。如下所示:
Domain.where(|d| d.ips.include? "1.2.3.4")
有没有直接的方法呢?
答案 0 :(得分:1)
以下查询应该有效
Domain.where("ips @> ?", '{1.2.3.4}')
或者你也可以
Domain.where("'1.2.3.4' = ANY (ips)")