から2つのアクティブなレコードをマージI持って、次の二つのオブジェクト:異なるモデル
users = User.where(:first_name => 'Abhas')
employees = Employee.where(:first_name => 'Abhas')
それは両方の条件を含む1つのActiveRecord::Relation
オブジェクトを生成するために2つの関係を結合することは可能ですか?
から2つのアクティブなレコードをマージI持って、次の二つのオブジェクト:異なるモデル
users = User.where(:first_name => 'Abhas')
employees = Employee.where(:first_name => 'Abhas')
それは両方の条件を含む1つのActiveRecord::Relation
オブジェクトを生成するために2つの関係を結合することは可能ですか?
私はちょうど結合のための機能を見たusers & employees
そしてそれを試みたusers | employees
それは働いた。それが正しい方法であるかどうかは分かりません。
両方のレコードの配列を返します。それはあなたが意味するものですか? –
しかし、この配列をフェッチした後、これらのレコードをスコープで呼び出すことはできません。これは配列に変換され、配列のスコープは呼び出せません。 –
実際にはAPI呼び出しでこれを返す必要があります。アクティブなレコードはより良いでしょう。これは私が正しいものを得るまで私の仕事です。私は 'jbuilder'を使って呼び出しを返します。あなたがより良いものを提案できるなら、それは本当に役に立ちます@Md.FarhanMemon – Abhas
あなたは、これらの2つのテーブルを結合し、その後、両方の条件
あなたの 'user.rb'has_one :employee, primary_key: :first_name
でのごemployee.rb
belongs_to :user, primary_key: :first_name
で
これは質問に対する答えを提供しません。十分な[評判](http://stackoverflow.com/help/whats-reputation)があれば、どの投稿でも[コメント](http://stackoverflow.com/help/privileges/comment)できるようになります。また、これを確認してください(代わりに何ができますか?)(https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reationation-to-comment-what-can-i-do-instead )。 – thewaywewere
を含む結合テーブルにクエリを実行することができますその後、
User.where(first_name: 'Abhas').includes(:employee)
このクラスにSTIを使用していますか? – Ilya
いいえ、私はしません。彼らは同じスキーマを持っていますが、将来私はSTIを使うべきでしょうが、現時点ではできません。 – Abhas