ユーザーが存在するかどうかを確認する必要があります。rubyを使用したORオプションが存在しますか? "
これは動作します:
User.exists?(id:123) => true
IDは、単に "name_parameterized" 欄常に使用することはできませんが。だから、このようなことをする方法:
User.exists?("name_parameterized='peter-parker' OR id=123")
ありがとう。
ユーザーが存在するかどうかを確認する必要があります。rubyを使用したORオプションが存在しますか? "
これは動作します:
User.exists?(id:123) => true
IDは、単に "name_parameterized" 欄常に使用することはできませんが。だから、このようなことをする方法:
User.exists?("name_parameterized='peter-parker' OR id=123")
ありがとう。
を使用しますが、多くの場合、より高速なインデックス化によるものである二つの異なるクエリでこれを行うことができます動作します:
User.exists?(name_parameterized: 'peter-parker') or User.exists?(id: 123)
クエリオプティマイザの視点から見ると、クエリを単一のクエリにまとめることもできます。
User.where(name_parameterized: 'peter-parker').or.where(id: 123).any?
User.where(id: 123).or(User.where(name: 'peter-parker')).exists?
更新 これは、レールに古いバージョン5.は
User.where('id=? OR name=?', 123, 'peter-parker').exists?
これはRails 5以上でのみ動作します。 – Santhosh
指してくれてありがとう –