Ruby 有没有更简洁的方法来检查PGResult是否为空?
我正在使用pg gem与来自Ruby的PostgreSQL对话。有没有 检查是否没有结果的更好方法是使用res.ntuples==0 一个打字错误?使用zero更快、更简洁?大于==0Ruby 有没有更简洁的方法来检查PGResult是否为空?,ruby,postgresql,pg,Ruby,Postgresql,Pg,我正在使用pg gem与来自Ruby的PostgreSQL对话。有没有 检查是否没有结果的更好方法是使用res.ntuples==0 一个打字错误?使用zero更快、更简洁?大于==0 作为提示,我强烈建议将ORMGem与Postgres或MySQL或几乎任何其他数据库一起使用。它允许您使用原始SQL或数据集,或充当与ActiveRecord类似的全面建模ORM。谢谢。但出于性能原因,我希望与金属保持距离。我用最少的启动时间写东西。我尝试过活动记录方法,但启动时间太慢了。num_tuples只是
作为提示,我强烈建议将ORMGem与Postgres或MySQL或几乎任何其他数据库一起使用。它允许您使用原始SQL或数据集,或充当与ActiveRecord类似的全面建模ORM。谢谢。但出于性能原因,我希望与金属保持距离。我用最少的启动时间写东西。我尝试过活动记录方法,但启动时间太慢了。num_tuples只是n元组的别名。它们都产生相同的结果。好猴子补丁!
conn = PGconn.connect config
cmd = "select * from labels inner join labels_mail using(label_id) " +
"where labels_mail.mail_id = $1 and labels.name = $2"
res = conn.exec(cmd, [mail_id, mailbox])
if res.ntuples == 0 # <=== is there a better way to check this?
cmd = "insert into labels_mail (mail_id, label_id) values ($1, $2)"
conn.exec(cmd, [mail_id, label_id(mailbox)])
end
if res.num_tuples.zero?