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

回答編集履歴

2

2017/05/12 05:42

投稿

moke
moke

スコア2241

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  がかけられていなくてはいけないということです。
7
7
  つまり
8
8
  ```ruby
9
- Message.joins(:adviser).where(deleted: false, user_id: current_user_id).or(Message.joins(:adviser).where(:advisers=>{:id=>adviser_id}))
9
+ Message.joins(:adviser).where(deleted: false, user_id: current_user_id).or(Message.joins(:adviser).where(:advisers=>{:id=>@adviser_id}))
10
10
  ```
11
11
  一応、join先のモデルにwhere をするやり方が、悩むところなので注意してください。
12
12
  ```ruby

1

2017/05/12 05:42

投稿

moke
moke

スコア2241

answer CHANGED
@@ -9,6 +9,11 @@
9
9
  Message.joins(:adviser).where(deleted: false, user_id: current_user_id).or(Message.joins(:adviser).where(:advisers=>{:id=>adviser_id}))
10
10
  ```
11
11
  一応、join先のモデルにwhere をするやり方が、悩むところなので注意してください。
12
+ ```ruby
13
+ mess=Message.joins(:adviser)
14
+ mess.where(deleted: false, user_id: current_user_id).or(mess.where(:advisers=>{:id=>adviser_id}))
15
+ ```
16
+ ともかけますし、これの方が軽いかな?
12
17
 
13
18
  ちなみに
14
19
  Relation passed to #or must be structurally compatible. Incompatible values: [:joins]