質問編集履歴
1
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,39 +102,129 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
+
//追記)考え方が根本的に間違っていることに気づいたためコメントアウト。本題には影響ないと考えます。
|
106
|
+
|
107
|
+
//if ($items_arr !== null) {
|
108
|
+
|
109
|
+
// $items_arr->Fromconditions($request);
|
110
|
+
|
111
|
+
//}
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
//この時点ではstring(例:111-1111)
|
116
|
+
|
117
|
+
var_dump($items_arr);
|
118
|
+
|
119
|
+
|
120
|
+
|
105
121
|
if ($items_arr !== null) {
|
106
122
|
|
107
|
-
$items_arr->
|
123
|
+
$items_arr = $items_arr->toArray();
|
108
124
|
|
109
125
|
}
|
110
126
|
|
111
127
|
|
112
128
|
|
113
|
-
//この時点で
|
129
|
+
//この時点でintに変わっている(例:111)
|
114
130
|
|
115
131
|
var_dump($items_arr);
|
116
132
|
|
117
133
|
|
118
134
|
|
135
|
+
return view('list/list',
|
136
|
+
|
137
|
+
compact( 'items_arr' )
|
138
|
+
|
139
|
+
);
|
140
|
+
|
141
|
+
}
|
142
|
+
|
143
|
+
}
|
144
|
+
|
145
|
+
```
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
search.php
|
150
|
+
|
151
|
+
```php
|
152
|
+
|
153
|
+
<?php
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
namespace App\Models;
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
use Illuminate\Database\Eloquent\Model;
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
class search extends Model
|
166
|
+
|
167
|
+
{
|
168
|
+
|
169
|
+
protected $table = 'item';
|
170
|
+
|
171
|
+
protected $primaryKey = 'id';
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
//完全一致検索
|
176
|
+
|
177
|
+
public function scopePerfect($query, $input)
|
178
|
+
|
179
|
+
{
|
180
|
+
|
181
|
+
return $query->where('id', $input);
|
182
|
+
|
183
|
+
}
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
//前方一致検索
|
188
|
+
|
189
|
+
public function scopeFuzzy($query, $input)
|
190
|
+
|
191
|
+
{
|
192
|
+
|
193
|
+
return $query->where('id', 'like', "$input%");
|
194
|
+
|
195
|
+
}
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
//追記)完全にミス。絶対動かない
|
200
|
+
|
201
|
+
//$conditionsの中に$columnsと一致するものがあればSQL文を発行する
|
202
|
+
|
203
|
+
public function scopeFromconditions($query, $conditions)
|
204
|
+
|
205
|
+
{
|
206
|
+
|
207
|
+
//検索対象となるカラム
|
208
|
+
|
209
|
+
$columns = [
|
210
|
+
|
211
|
+
'kind', 'salesStartYear', 'discontinuedYear'
|
212
|
+
|
213
|
+
];
|
214
|
+
|
215
|
+
|
216
|
+
|
119
|
-
|
217
|
+
foreach ($columns as $column) {
|
120
|
-
|
218
|
+
|
121
|
-
|
219
|
+
if (isset($conditions->$column)) {
|
220
|
+
|
221
|
+
$query->where($column, $conditions->$column);
|
222
|
+
|
223
|
+
}
|
122
224
|
|
123
225
|
}
|
124
226
|
|
125
|
-
|
126
|
-
|
127
|
-
//この時点でintに変わっている(例:111)
|
128
|
-
|
129
|
-
|
227
|
+
return $query;
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
return view('list/list',
|
134
|
-
|
135
|
-
compact( 'items_arr' )
|
136
|
-
|
137
|
-
);
|
138
228
|
|
139
229
|
}
|
140
230
|
|
@@ -144,92 +234,6 @@
|
|
144
234
|
|
145
235
|
|
146
236
|
|
147
|
-
search.php
|
148
|
-
|
149
|
-
```php
|
150
|
-
|
151
|
-
<?php
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
namespace App\Models;
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
use Illuminate\Database\Eloquent\Model;
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
class search extends Model
|
164
|
-
|
165
|
-
{
|
166
|
-
|
167
|
-
protected $table = 'item';
|
168
|
-
|
169
|
-
protected $primaryKey = 'id';
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
//完全一致検索
|
174
|
-
|
175
|
-
public function scopePerfect($query, $input)
|
176
|
-
|
177
|
-
{
|
178
|
-
|
179
|
-
return $query->where('id', $input);
|
180
|
-
|
181
|
-
}
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
//前方一致検索
|
186
|
-
|
187
|
-
public function scopeFuzzy($query, $input)
|
188
|
-
|
189
|
-
{
|
190
|
-
|
191
|
-
return $query->where('id', 'like', "$input%");
|
192
|
-
|
193
|
-
}
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
//$conditionsの中に$columnsと一致するものがあればSQL文を発行する
|
198
|
-
|
199
|
-
public function scopeFromconditions($query, $conditions)
|
200
|
-
|
201
|
-
{
|
202
|
-
|
203
|
-
//検索対象となるカラム
|
204
|
-
|
205
|
-
$columns = [
|
206
|
-
|
207
|
-
'kind', 'salesStartYear', 'discontinuedYear'
|
208
|
-
|
209
|
-
];
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
foreach ($columns as $column) {
|
214
|
-
|
215
|
-
if (isset($conditions->$column)) {
|
216
|
-
|
217
|
-
$query->where($column, $conditions->$column);
|
218
|
-
|
219
|
-
}
|
220
|
-
|
221
|
-
}
|
222
|
-
|
223
|
-
return $query;
|
224
|
-
|
225
|
-
}
|
226
|
-
|
227
|
-
}
|
228
|
-
|
229
|
-
```
|
230
|
-
|
231
|
-
|
232
|
-
|
233
237
|
### 補足情報(FW/ツールのバージョンなど)
|
234
238
|
|
235
239
|
|