質問編集履歴
4
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
|
93
93
|
### 実行したクエリ
|
94
94
|
|
95
|
-
以下クエリでは終了の会員は取得できるがlecture_user_statusesにレコードが存在しない会員を取得できない
|
95
|
+
以下クエリでは終了の会員は取得できるがlecture_user_statusesにレコードが存在しない会員を取得できない。
|
96
96
|
|
97
97
|
サブクエリやnot exitsを使ったりもしましたがうまくいきませんでした。
|
98
98
|
|
3
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -140,7 +140,7 @@
|
|
140
140
|
|
141
141
|
```
|
142
142
|
|
143
|
-
$lecture_ids = [1
|
143
|
+
$lecture_ids = [1,2];
|
144
144
|
|
145
145
|
|
146
146
|
|
@@ -190,7 +190,7 @@
|
|
190
190
|
|
191
191
|
and `lecture_user_statuses`.`lecture_id` in {$lecture_ids}
|
192
192
|
|
193
|
-
and `lecture_group_attendances`.user_id = `lecture_user_statuses`.user_id)
|
193
|
+
and `lecture_group_attendances`.user_id = `lecture_user_statuses`.user_id)");
|
194
194
|
|
195
195
|
})
|
196
196
|
|
2
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -138,6 +138,68 @@
|
|
138
138
|
|
139
139
|
```
|
140
140
|
|
141
|
+
```
|
142
|
+
|
143
|
+
$lecture_ids = [10, 11];
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
DB::table($this->getTable())
|
148
|
+
|
149
|
+
->select([
|
150
|
+
|
151
|
+
'users.user_id',
|
152
|
+
|
153
|
+
])
|
154
|
+
|
155
|
+
->leftJoin('lectures', 'lecture_group_attendances.lecture_group_id', '=', 'lectures.lecture_group_id')
|
156
|
+
|
157
|
+
->join('lecture_user_statuses', function ($join) {
|
158
|
+
|
159
|
+
$join->on('lectures.lecture_id', '=', 'lecture_user_statuses.lecture_id')
|
160
|
+
|
161
|
+
->on('lecture_group_attendances.user_id', '=', 'lecture_user_statuses.user_id');
|
162
|
+
|
163
|
+
})
|
164
|
+
|
165
|
+
->join('users', 'lecture_user_statuses.user_id', '=', 'users.user_id')
|
166
|
+
|
167
|
+
->where('lecture_group_attendances.attendance', 20)
|
168
|
+
|
169
|
+
->whereIn('lecture_user_statuses.lecture_id', $lecture_ids)
|
170
|
+
|
171
|
+
->where(function ($query) use ($lecture_ids) {
|
172
|
+
|
173
|
+
$query->where('lecture_user_statuses.status', '終了')
|
174
|
+
|
175
|
+
->orWhereRaw("not exits (
|
176
|
+
|
177
|
+
select `users`.`user_id`
|
178
|
+
|
179
|
+
from `lecture_group_attendances`
|
180
|
+
|
181
|
+
left join `lectures` on `lecture_group_attendances`.`lecture_group_id` = `lectures`.`lecture_group_id`
|
182
|
+
|
183
|
+
inner join `lecture_user_statuses` on `lectures`.`lecture_id` = `lecture_user_statuses`.`lecture_id`
|
184
|
+
|
185
|
+
and `lecture_group_attendances`.`user_id` = `lecture_user_statuses`.`user_id`
|
186
|
+
|
187
|
+
inner join `users` on `lecture_user_statuses`.`user_id` = `users`.`user_id`
|
188
|
+
|
189
|
+
where `lecture_group_attendances`.`attendance` = 20
|
190
|
+
|
191
|
+
and `lecture_user_statuses`.`lecture_id` in {$lecture_ids}
|
192
|
+
|
193
|
+
and `lecture_group_attendances`.user_id = `lecture_user_statuses`.user_id))");
|
194
|
+
|
195
|
+
})
|
196
|
+
|
197
|
+
->where('users.status', '!=', '退会')
|
198
|
+
|
199
|
+
->pluck('user_id');
|
200
|
+
|
201
|
+
```
|
202
|
+
|
141
203
|
### 補足情報(FW/ツールのバージョンなど)
|
142
204
|
|
143
205
|
- Laravel5.5
|
1
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,6 +94,8 @@
|
|
94
94
|
|
95
95
|
以下クエリでは終了の会員は取得できるがlecture_user_statusesにレコードが存在しない会員を取得できない
|
96
96
|
|
97
|
+
サブクエリやnot exitsを使ったりもしましたがうまくいきませんでした。
|
98
|
+
|
97
99
|
```
|
98
100
|
|
99
101
|
$lecture_ids = [1,2]
|
@@ -122,7 +124,7 @@
|
|
122
124
|
|
123
125
|
->whereIn('lecture_user_statuses.lecture_id', $lecture_ids)
|
124
126
|
|
125
|
-
->where(function ($query)
|
127
|
+
->where(function ($query) {
|
126
128
|
|
127
129
|
$query->where('lecture_user_statuses.status', '終了')
|
128
130
|
|