Ruby,MySQL2:检查结果是否为空

Mar*_*rco 4 ruby mysql mysql2

我在Ruby中使用MySQL2来查询数据库.检查查询结果是否为空的直接方法是什么?代码如下:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")
Run Code Online (Sandbox Code Playgroud)

Sho*_*hoe 10

Mysql2文件确实很差.但通过检查results你的类型你会发现它是一个Mysql2::Result包含3种方法.您感兴趣的是count(或别名size),它将返回结果的行数.

从这里您可以轻松检查它是否0:

(results.count == 0)
Run Code Online (Sandbox Code Playgroud)

或者,您可以打开Mysql2::Result该类并empty?自己添加方法:

class Mysql2::Result
    def empty?
        (count == 0)
    end
end
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

results.empty?
Run Code Online (Sandbox Code Playgroud)