[解決済み] 2つのActiveRecord::Relationオブジェクトを結合する
2022-04-13 23:39:58
質問
次の2つのオブジェクトがあるとする。
first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation
last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation
2つのリレーションを組み合わせて、1つのリレーションを生成することは可能ですか?
ActiveRecord::Relation
オブジェクトは、両方の条件を含んでいますか?
注:この動作を得るためにwhereを連結できることは承知していますが、本当に興味があるのは、2つの別々の
ActiveRecord::Relation
オブジェクトを作成します。
解決方法は?
を使って結合する場合
AND
(交差点) を使用します。
merge
:
first_name_relation.merge(last_name_relation)
を組み合わせて使用したい場合は
OR
(ユニオン)を使用します。
or
†
:
first_name_relation.or(last_name_relation)
† ActiveRecord 5+のみ。4.2の場合は、インストール時に どこが のバックポートです。
関連
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] Railsです。ActiveRecordでデフォルト値を設定するにはどうすればよいですか?
-
[解決済み] ActiveRecordオブジェクトを削除するにはどうしたらいいですか?
-
[解決済み】activerecordのレコードを複製する最も簡単な方法は何ですか?
-
[解決済み】RailsでActiveRecordモデルとそのテーブルの名前を変更するマイグレーションはどのように記述するのですか?
-
[解決済み】ActiveRecordのFloatとDecimalの比較
-
[解決済み】空のActiveRecordリレーションを返すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み】PG::ConnectionBad: fe_sendauth: パスワードが供給されない
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Herokuの問題 : あなたが探しているページは存在しません。
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] Rails / Haml: 投稿フォームを作成するには?
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。