sql >> データベース >  >> RDS >> PostgreSQL

RailsコンソールはIDの配列でユーザーを検索します

    アレイの場合、次のいずれかを使用できます。

    # Will raise exception if any value not found
    User.find( [1,3,5] )
    
    # Will not raise an exception
    User.find_all_by_id( [1,3,5] ) # Rails 3
    User.where(id: [1,3,5])        # Rails 4
    

    範囲を使用している場合は、次を使用できます:

    # Will raise exception if any value not found
    User.find((1..4).to_a)   #same as User.find([1,2,3,4])
    
    # Will not raise an exception
    User.find_all_by_id(1..4)  # Rails 3
    User.where(id: 1..4)       # Rails 4
    

    @ diego.greyrobotがコメントで指摘しているように、範囲はSQL BETWEEN句を引き起こし、配列はSQLIN句を引き起こします。

    しないでください User.find_by_id()を使用します --どのようにIDを渡しても、1つのレコードのみが返されます。



    1. Oracle:関数ベースのインデックス選択的一意性

    2. Web2py –SQLiteからMySQLへの移行

    3. pg_topを使用したPostgreSQLインスタンスの動的監視

    4. PostgreSQLのインストール中にSQLモジュールをデータベースクラスターにロードできませんでした