在ActiveRecord查询键/列中查看将变量作为值传递?
login = Login.where("email_address" => "geo@bostj.com","active" => 1).select("id")
=> [#<Login id: 767>]
login = Login.where("email_address" => "geo@bostj.com","active" => 1).select("id").class
=> ActiveRecord::Relation
admin = Admin.where("login_id"=>login).exists?
Heeeelp
答案 0 :(得分:2)
您可以写为
login_ids = Login.where("email_address" => "geo@bostj.com","active" => 1).pluck(:id)
Admin.where("login_id in (?)", login_ids).blank?
如果relation为空,则返回true。
Admin.where("login_id in (?)", login_ids)
会回复我们ActiveRecord::Relation
个对象,因此我认为我们可以使用#blank?
方法。
答案 1 :(得分:2)
我愿意:
login = Login.where(email_address: 'geo@bostj.com', active: 1)
Admin.exists?(login_id: login.pluck(:id))
答案 2 :(得分:0)
应该是
admin = Admin.where("login_id" => login.first.id).exists?