###前提・実現したいこと
親テーブル:記事タイトル
子テーブル:本文(複数に分割)
親と子が1対多の関係です。
この場合に、検索をした際、
①タイトルに該当クエリが含まれる記事
②本文の中に該当クエリが含まれる記事
を抽出したいです。
①だけなら簡単なのですが、②も含める場合どうすれば良いのか分かりません。。。
###該当のソースコード
親モデル
ruby
1class Article < ApplicationRecord 2has_many :article_bodies
子モデル
ruby
1class ArticleBody < ApplicationRecord 2belongs_to :article, counter_cache: true
こんな感じでやってみましたが、Relationに問題があるとエラーが出ています。が、、、そもそもこれが正しい方向なのかもわからず。。。
ruby
1 2 @articles = Article 3 .includes(:category, :admin) 4 .joins(:article_bodies) 5 .where('UPPER(title) like :value',value: "%#{params[:q].upcase}%") 6 .or(Article.where('UPPER(article_bodies.parts) like :value',value: "%#{params[:q].upcase}%")) 7 .order(id: :DESC) 8 .page(params[:page]) 9 .per(25) 10 11 @count = Article 12 .joins(:article_bodies) 13 .where('UPPER(title) like :value',value: "%#{params[:q].upcase}%") 14 .or(Article.where('UPPER(article_bodies.parts) like :value',value: "%#{params[:q].upcase}%")) 15 .count 16
どなたか教えて頂けると幸いです・・・!
###補足情報(言語/FW/ツール等のバージョンなど)
Rails5/Mysql
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/04 05:53 編集