回答編集履歴

2

追記

2021/03/15 10:20

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -29,3 +29,25 @@
29
29
  ```
30
30
 
31
31
  最後の1行生SQLにバラさないとだめかもですが、ためして
32
+
33
+
34
+
35
+ 追記2
36
+
37
+ この条件ですと私の力では1回では書けないです。
38
+
39
+ relation =
40
+
41
+ User.joins(:languages)
42
+
43
+ .where(['name LIKE ? AND introduction LIKE ? AND gender LIKE ?',
44
+
45
+ "%#{params[:name]}%", "%#{params[:introduction]}%", "#{params[:gender]}%")
46
+
47
+ users = params[:language_ids].inject(relation){|rel,id|
48
+
49
+ rel.where("lanuages.id" => id)
50
+
51
+ }`
52
+
53
+ で、users が得られるものかと。

1

追記

2021/03/15 10:20

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -11,3 +11,21 @@
11
11
  蛇足
12
12
 
13
13
  性別に sex を使う方が多いのですが、違和感があります。genderがベターではと。。。 。
14
+
15
+
16
+
17
+ 追記
18
+
19
+ ```
20
+
21
+ User.joins(:languages)
22
+
23
+ .where(['name LIKE ? AND introduction LIKE ? AND gender LIKE ?',
24
+
25
+ "%#{params[:name]}%", "%#{params[:introduction]}%", "#{params[:gender]}%")
26
+
27
+ .where("languages.id" => params[:language_ids])
28
+
29
+ ```
30
+
31
+ 最後の1行生SQLにバラさないとだめかもですが、ためして