2016-04-14 17 views
0

私はMySQLを使用してアプリケーションを作成しています。 「リクエスト」という表があります。Ruby on Rails: "SELECT" MySQLコマンド

このテーブルには、テーブル「ユーザー」のフィールド「user_id」があります。

user_idからのすべてのリクエストを選択したいと思います。例えば

SELECT * FROM requests WHERE user_id = ("the id I want"); 

私はRuby言語ではなく、SQL文字列を使用していることをどのように行うことができますか? ActiveRecordをで

答えて

1

その次のように行わ:あなたが@shivamから見ることができるように、いくつかの異なる方法があります

Request.where(user_id: ID) 
0
Request.find_by_user_id(USER-ID-YOU-WANT) 

それとも

Request.find_by user_id: 'USER-ID-YOU-WANT' 

ドキュメントhere

+0

' 「id」 – Ilya

+0

あなたは正しいです、私の悪いです。それを私が直した。イリーヤ –

0

と@アマリックの答え。また、使用しているORMによって異なります。あなたがすぐにRailsを使用しているなら、おそらくActiveRecordを使用しているでしょう。

UserRequestモデルでは、おそらく最も慣用的な方法はassociationsです。 app/models/user.rb

class User < ActiveRecord::Base 
    has_many :requests 
end 

app/models/request.rb

class Request < ActiveRecord::Base 
    belongs_to :user 
end 

これは、ユーザーを見つけ、その#requestsメソッドを呼び出すことができるようになる:同じではありませんuser_id`

User.find(user_id).requests