teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2021/03/15 10:20

投稿

winterboum
winterboum

スコア23654

answer CHANGED
@@ -13,4 +13,15 @@
13
13
  "%#{params[:name]}%", "%#{params[:introduction]}%", "#{params[:gender]}%")
14
14
  .where("languages.id" => params[:language_ids])
15
15
  ```
16
- 最後の1行生SQLにバラさないとだめかもですが、ためして
16
+ 最後の1行生SQLにバラさないとだめかもですが、ためして
17
+
18
+ 追記2
19
+ この条件ですと私の力では1回では書けないです。
20
+ relation =
21
+ User.joins(:languages)
22
+ .where(['name LIKE ? AND introduction LIKE ? AND gender LIKE ?',
23
+ "%#{params[:name]}%", "%#{params[:introduction]}%", "#{params[:gender]}%")
24
+ users = params[:language_ids].inject(relation){|rel,id|
25
+ rel.where("lanuages.id" => id)
26
+ }`
27
+ で、users が得られるものかと。

1

追記

2021/03/15 10:20

投稿

winterboum
winterboum

スコア23654

answer CHANGED
@@ -4,4 +4,13 @@
4
4
  `where(.....).where(languate: params[:language_ids])`でどうでしょう。
5
5
 
6
6
  蛇足
7
- 性別に sex を使う方が多いのですが、違和感があります。genderがベターではと。。。 。
7
+ 性別に sex を使う方が多いのですが、違和感があります。genderがベターではと。。。 。
8
+
9
+ 追記
10
+ ```
11
+ User.joins(:languages)
12
+ .where(['name LIKE ? AND introduction LIKE ? AND gender LIKE ?',
13
+ "%#{params[:name]}%", "%#{params[:introduction]}%", "#{params[:gender]}%")
14
+ .where("languages.id" => params[:language_ids])
15
+ ```
16
+ 最後の1行生SQLにバラさないとだめかもですが、ためして