問題タブ [ruby-on-rails-5.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 5.1 has_many から関連フィールド
(下のスキーマ画像の例を参照)
テーブルの&フィールドとともにusers
、フィールドを使用して、テーブルから 1 人のユーザーをクエリしようとしています。結果には、見つかったユーザー (存在する場合) と、アプリケーション ( &フィールドを使用して参照) および関連データが含まれます。email
id
key
applications
key
id
applications_users
この操作を実行するために SQL を手動で簡単に記述できます。
ただし、ActiveRecordを使用すると、一生クエリを正しく取得できません。
これらは、これまでに行った失敗した試みです。
これはユーザーを正しく取得しますが、アクセスしようとするとRailsは2番目のSQLクエリを実行しますuser.applications
(また、ユーザーに関連付けられたすべてのアプリケーションを返すため、id
&key
条件を無視しているように見えます)
これにより、ユーザーと正しいアプリケーションが正しく取得されます (イェイ!)。しかし、Rails を呼び出そうとすると、2 つ目の SQL クエリが実行されますuser.applications_users
。また、テーブル内のすべてのデータのコレクションが返されます (ここでも&条件applications_users
は無視されます)。id
key
これで正しいユーザーが取得されますが、アクセスしようとすると Rails は別の SQL クエリを実行し、user.applications
すべてのアプリケーションも返します。
とにかく、うまくいけば、Rails の天才がこの質問に光を当てることができます! 私が Rails の専門家ではないことを最初に認めます。私は過去 10 年間、PHP と C++ でプロとしてのキャリア コーディングを行ってきました。