質問編集履歴

6

文言の修正

2017/06/13 11:00

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
- ###修正後↓
105
+ ###修正後↓(解決)
106
106
 
107
107
  ```PHP
108
108
 

5

修正後のソースを修正

2017/06/13 11:00

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ###pagination実装ソースコード(Laravelのカスタムページネータを使用)
9
+ ###pagination実装ソースコード(Laravelのカスタムページネータを使用)修正前
10
10
 
11
11
  ```PHP
12
12
 
@@ -118,14 +118,6 @@
118
118
 
119
119
 
120
120
 
121
- //コメントアウト
122
-
123
- //$resultset = $this->client->select($query);
124
-
125
-
126
-
127
-
128
-
129
121
  $perPage = $query->getRows(); //defalutの10件
130
122
 
131
123
  $startPage = $query->getStart(); //defalutの0件
@@ -144,19 +136,21 @@
144
136
 
145
137
 
146
138
 
147
- //追加
148
-
149
- $sliced = $query->setStart($offset)->setRows($perPage);
139
+ $sliced = $query->setStart($offset)->setRows($perPage);
150
-
140
+
151
- dump($sliced);
141
+ dump($sliced);
142
+
143
+
144
+
152
-
145
+ //結果
146
+
153
-
147
+ $resultset = $this->client->select($query);
154
-
155
-
156
-
148
+
149
+
150
+
157
- //コメントアウト
151
+ //結果を全件取得
158
-
152
+
159
- //$sliced = array_slice((array)$resultset, $offset, $perPage, true);
153
+ $resultset_total = $resultset->getNumFound();
160
154
 
161
155
 
162
156
 
@@ -168,7 +162,7 @@
168
162
 
169
163
  $perPage,
170
164
 
171
- $page, //NULLから$pageへ変更
165
+ $page,
172
166
 
173
167
  [
174
168
 
@@ -176,6 +170,10 @@
176
170
 
177
171
  'path' => Paginator::resolveCurrentPath(),
178
172
 
173
+ 'query' => ['keyword' => $request['keyword']],
174
+
175
+
176
+
179
177
  ]
180
178
 
181
179
 

4

修正後のソース修正

2017/06/13 10:58

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -118,9 +118,9 @@
118
118
 
119
119
 
120
120
 
121
+ //コメントアウト
122
+
121
- $resultset = $this->client->select($query);
123
+ //$resultset = $this->client->select($query);
122
-
123
-
124
124
 
125
125
 
126
126
 
@@ -142,9 +142,21 @@
142
142
 
143
143
  $offset = ( $page * $perPage ) - $perPage;
144
144
 
145
+
146
+
147
+ //追加
148
+
149
+ $sliced = $query->setStart($offset)->setRows($perPage);
150
+
145
- dump($offset);
151
+ dump($sliced);
152
+
153
+
154
+
155
+
156
+
146
-
157
+ //コメントアウト
158
+
147
- $sliced = array_slice((array)$resultset, $offset, $perPage, true);
159
+ //$sliced = array_slice((array)$resultset, $offset, $perPage, true);
148
160
 
149
161
 
150
162
 
@@ -192,7 +204,7 @@
192
204
 
193
205
  ページネーションはブラウザに表示されているが
194
206
 
195
- 2ページ目を押下するとURLはhttp://xxx.x.x.x/list?kayword=〇〇&page=2となりますが
207
+ 2ページ目を押下するとURLはhttp://xxx.x.x.x/list?keyword=〇〇&page=2となりますが
196
208
 
197
209
  結果は表示されない。
198
210
 

3

修正後ソースを修正

2017/06/13 09:18

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -134,33 +134,23 @@
134
134
 
135
135
 
136
136
 
137
-
138
-
139
- $perPage = 10;
140
-
141
- $startPage = $query->getStart();
142
-
143
-
144
-
145
- $page = max(0, Paginator::resolveCurrentPage() - 1);
137
+ $page = max(0, Paginator::resolveCurrentPage()); //-1を削除
146
-
147
-
148
-
149
- //コメントアウト↓
138
+
150
-
139
+
140
+
151
- //foreach ($resultset as $document) {
141
+ // 配列のoffset位置からperPage分の配列を切り抜く
142
+
152
-
143
+ $offset = ( $page * $perPage ) - $perPage;
153
-
154
-
144
+
155
- //コメントアウト↓
145
+ dump($offset);
156
-
146
+
157
- //$sliced = array_slice((array)$document->id, $page * $perPage, $perPage);
147
+ $sliced = array_slice((array)$resultset, $offset, $perPage, true);
158
-
159
-
148
+
149
+
160
150
 
161
151
  $paginator = new LengthAwarePaginator(
162
152
 
163
- $resultset,
153
+ $sliced,
164
154
 
165
155
  $resultset_total,
166
156
 
@@ -180,10 +170,6 @@
180
170
 
181
171
  );
182
172
 
183
-
184
-
185
- // }
186
-
187
173
  ```
188
174
 
189
175
 

2

文法の修正

2017/06/13 04:56

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -182,7 +182,7 @@
182
182
 
183
183
 
184
184
 
185
- }
185
+ // }
186
186
 
187
187
  ```
188
188
 

1

修正後のソースを更新

2017/06/12 10:09

投稿

yuuuui
yuuuui

スコア59

test CHANGED
File without changes
test CHANGED
@@ -76,11 +76,97 @@
76
76
 
77
77
  $sliced,
78
78
 
79
+ $resultset_total,//$resultset_total = $resultset->getNumFound();
80
+
81
+ $perPage,
82
+
83
+ null,
84
+
85
+ [
86
+
87
+ 'page' => $page,
88
+
89
+ 'path' => Paginator::resolveCurrentPath(),
90
+
91
+ ]
92
+
93
+
94
+
95
+ );
96
+
97
+
98
+
99
+ }
100
+
101
+ ```
102
+
103
+
104
+
105
+ ###修正後↓
106
+
107
+ ```PHP
108
+
109
+ SearchController.php
110
+
111
+
112
+
113
+
114
+
115
+ $query = $this->client->createSelect();
116
+
117
+ $query->setQuery($request['keyword']);
118
+
119
+
120
+
121
+ $resultset = $this->client->select($query);
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ $perPage = $query->getRows(); //defalutの10件
130
+
131
+ $startPage = $query->getStart(); //defalutの0件
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ $perPage = 10;
140
+
141
+ $startPage = $query->getStart();
142
+
143
+
144
+
145
+ $page = max(0, Paginator::resolveCurrentPage() - 1);
146
+
147
+
148
+
149
+ //コメントアウト↓
150
+
151
+ //foreach ($resultset as $document) {
152
+
153
+
154
+
155
+ //コメントアウト↓
156
+
157
+ //$sliced = array_slice((array)$document->id, $page * $perPage, $perPage);
158
+
159
+
160
+
161
+ $paginator = new LengthAwarePaginator(
162
+
163
+ $resultset,
164
+
79
165
  $resultset_total,
80
166
 
81
167
  $perPage,
82
168
 
83
- null,
169
+ $page, //NULLから$pageへ変更
84
170
 
85
171
  [
86
172