2016-06-15 21 views
0

に一つにいくつかのオブジェクトを含むオブジェクトの問合せ「をXXX-役割を持っている誰?」 は私の役割を作るオフは、だから私は、私はを照会する方法を二つのモデル</p> <pre><code>class User has_many :roles end class Role belongs_to :user end </code></pre> <p>を持っている多くの関係

+0

これを行うには多くの方法があります。ピタは、より具体的にする必要があります。 –

答えて

0

スタート

roles = Role.where(some_key: some_val).includes(:user)

を照会あなたが関連付けられているユーザレコードをプリロードするためにここにincludesにタック、ありがとうございました。このようにして、ユーザーは次のようになります。

roles.map(&:user)これはroles.map { |role| role.user }に相当します。

includesがなくても動作しますが、速度は遅くなります。これはN+1 sequel issueのためです。

+0

ありがとう、私は実際にはHABTM関係にしてしまい、Role.usersをやっただけです。同じ考え方だと思います – Pita

+0

うんHABTMはここでもっと意味があります –

関連する問題

 関連する問題