11

複数のパラメーターに基づいてレコードを検索したい。ただし、これらのパラメーターには複数のオプションがあります。

As "SELECT something FROM mytable WHERE user_name="xyz" and status=("Active" OR "Deleted")

これをレールステートメントに変換するにはどうすればよいですか?

Person.find_by_user_name_and_status(user_name, status) # this doesn't take the OR operator 
4

1 に答える 1

14

今はテストできませんが、やってみましたか?

Person.find_all_by_user_name_and_status(user_name, ["active", "deleted"])

上記が機能しない場合、これは...

Person.where(:user_name => "xyz", :status => ["active", "deleted"])
# translates to:
# "select * from persons where username = 'xyz' and status in ('active', 'deleted')"

Rails Guide for Active Recordを確認する必要があります:http://guides.rubyonrails.org/active_record_querying.html

于 2012-04-17T10:40:40.693 に答える