質問編集履歴
2
コードの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -174,4 +174,182 @@
|
|
174
174
|
|
175
175
|
|
176
176
|
|
177
|
+
view
|
178
|
+
|
179
|
+
```
|
180
|
+
|
181
|
+
<!DOCTYPE HTML>
|
182
|
+
|
183
|
+
<html lang="ja" style="height:100%;">
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
<head>
|
188
|
+
|
189
|
+
<title>勤怠管理</title>
|
190
|
+
|
191
|
+
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
192
|
+
|
193
|
+
</head>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
<body>
|
198
|
+
|
199
|
+
<!-- ボタンを押した時、POST形式でactionに指定したURIに遷移する -->
|
200
|
+
|
201
|
+
<form method="post" action="/">
|
202
|
+
|
203
|
+
{{ csrf_field() }}
|
204
|
+
|
205
|
+
<!-- 一覧を取得する際の検索条件に使う -->
|
206
|
+
|
207
|
+
検索条件:
|
208
|
+
|
209
|
+
<input type="text" name='search_no' value="{{$search_no ?? ''}}"> USER
|
210
|
+
|
211
|
+
<input type="text" name='search_year' value="{{$search_year ?? ''}}"> 年
|
212
|
+
|
213
|
+
<input type="text" name='search_month' value="{{$search_month ?? ''}}"> 月
|
214
|
+
|
215
|
+
<!-- 送信ボタン -->
|
216
|
+
|
217
|
+
<input type="submit" name='doSearch' value='検索'> <br>
|
218
|
+
|
219
|
+
<input type="submit" name='doUpdate' value='更新'><br>
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
@if($data ?? '' === array())
|
224
|
+
|
225
|
+
<TABLE BORDER=1>
|
226
|
+
|
227
|
+
<TR>
|
228
|
+
|
229
|
+
<TH WIDTH=20>No</TH>
|
230
|
+
|
231
|
+
<TH WIDTH=100>年</TH>
|
232
|
+
|
233
|
+
<TH WIDTH=50>月</TH>
|
234
|
+
|
235
|
+
<TH WIDTH=50>日</TH>
|
236
|
+
|
237
|
+
<TH WIDTH=100>開始時間</TH>
|
238
|
+
|
239
|
+
<TH WIDTH=100>終了時間</TH>
|
240
|
+
|
241
|
+
<TH WIDTH=100>勤務時間</TH></TH>
|
242
|
+
|
243
|
+
</TR>
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
<TR>
|
248
|
+
|
249
|
+
@foreach($data as $d)
|
250
|
+
|
251
|
+
<TH>{{$d->No}}</TH>
|
252
|
+
|
253
|
+
<TH>{{$d->Year}}</TH>
|
254
|
+
|
255
|
+
<TH>{{$d->Month}}</TH>
|
256
|
+
|
257
|
+
<TH>{{$d->Day}}</TH>
|
258
|
+
|
259
|
+
<TH><input type="text" name="update_startTime" value="{{$d->StartTime}}" class="startClass"></TH>
|
260
|
+
|
261
|
+
<TH><input type="text" name="update_endTime" value="{{$d->EndTime}}" class="endClass"></TH>
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
<TH><?php
|
266
|
+
|
267
|
+
$startTime = explode(":", $d->StartTime);
|
268
|
+
|
269
|
+
$startTime_hour = (int)$startTime[0];
|
270
|
+
|
271
|
+
$startTime_minute = (int)$startTime[1];
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
$endTime = explode(":", $d->EndTime);
|
276
|
+
|
277
|
+
$endTime_hour = (int)$endTime[0];
|
278
|
+
|
279
|
+
$endTime_minute = (int)$endTime[1];
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
$int_year = (int)$d->Year;
|
284
|
+
|
285
|
+
$int_month = (int)$d->Month;
|
286
|
+
|
287
|
+
$int_day = (int)$d->Day;
|
288
|
+
|
289
|
+
$zero = 00;
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
$timestamp1 = strtotime( "$int_year/$int_month/$int_day $startTime_hour:$startTime_minute:00" );
|
294
|
+
|
295
|
+
$timestamp2 = strtotime( "$int_year/$int_month/$int_day $endTime_hour:$endTime_minute:00" );
|
296
|
+
|
297
|
+
$day_hour = (int)(($timestamp2 - $timestamp1) / (60*60));
|
298
|
+
|
299
|
+
$day_minute = (int)(($timestamp2 - $timestamp1) % (60*60) / 60);
|
300
|
+
|
301
|
+
if ($day_minute === null) {
|
302
|
+
|
303
|
+
$day_minute = 0;
|
304
|
+
|
305
|
+
}
|
306
|
+
|
307
|
+
if (is_int($day_hour)) {
|
308
|
+
|
309
|
+
echo "{$day_hour} :";
|
310
|
+
|
311
|
+
}
|
312
|
+
|
313
|
+
if (strlen($day_minute)===1){
|
314
|
+
|
315
|
+
echo "0{$day_minute}";
|
316
|
+
|
317
|
+
} else {
|
318
|
+
|
319
|
+
echo "{$day_minute}";
|
320
|
+
|
321
|
+
}
|
322
|
+
|
323
|
+
?>
|
324
|
+
|
325
|
+
</TH>
|
326
|
+
|
327
|
+
</TR>
|
328
|
+
|
329
|
+
@endforeach
|
330
|
+
|
331
|
+
</TABLE>
|
332
|
+
|
333
|
+
@else
|
334
|
+
|
335
|
+
<p>検索条件を入力後、表示されます</p>
|
336
|
+
|
337
|
+
@endif
|
338
|
+
|
339
|
+
<br>
|
340
|
+
|
341
|
+
<a href="{{ url('/new')}}">新規登録</a>
|
342
|
+
|
343
|
+
</form>
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
</body>
|
348
|
+
|
349
|
+
</html>
|
350
|
+
|
351
|
+
```
|
352
|
+
|
353
|
+
|
354
|
+
|
177
355
|
updateメソッドの中ではviewの表示ができるか確認のため、viewを返す処理にしています。
|
1
マークダウン形式に訂正。 コードの追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,45 +6,69 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
エラー内容
|
9
|
+
エラー内容(変化がありました)
|
10
|
+
|
11
|
+
画面がにviewが返らなくなりました。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
試したこと
|
16
|
+
|
17
|
+
$requestの中身は存在するかissetで確認
|
18
|
+
|
19
|
+
echo""で文字列などの表示はできるか
|
20
|
+
|
21
|
+
アドバイスお願いします。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
ルーティング
|
10
26
|
|
11
27
|
```
|
12
28
|
|
13
|
-
|
29
|
+
Route::get('/', 'work@showPage');
|
30
|
+
|
31
|
+
Route::post('/', 'work@judge');
|
14
32
|
|
15
33
|
```
|
16
34
|
|
17
35
|
|
18
36
|
|
19
|
-
試したこと
|
20
|
-
|
21
|
-
まず押されたsubmitのボタンによっての分岐ができているかをif文で確認しました。
|
22
|
-
|
23
|
-
ですがメソッドを呼び出した際のエラーによる引数が足りません、のエラーがどのように解決すればいいかわかりません。
|
24
|
-
|
25
|
-
|
37
|
+
controller
|
26
38
|
|
27
39
|
```
|
28
40
|
|
29
|
-
|
41
|
+
<?php
|
30
42
|
|
31
43
|
|
32
44
|
|
33
|
-
|
34
|
-
|
35
|
-
p
|
45
|
+
namespace App\Http\Controllers;
|
36
46
|
|
37
47
|
|
38
48
|
|
49
|
+
use Illuminate\Support\Facades\DB;
|
50
|
+
|
51
|
+
use App\date_table;
|
52
|
+
|
53
|
+
use Request as PostRequest;
|
54
|
+
|
39
|
-
|
55
|
+
use Illuminate\Http\Request;
|
40
56
|
|
41
57
|
|
42
58
|
|
59
|
+
class work extends Controller
|
60
|
+
|
61
|
+
{
|
62
|
+
|
43
|
-
public function judge(){
|
63
|
+
public function judge(Request $request){
|
44
64
|
|
45
65
|
if (PostRequest::get('doSearch')){
|
46
66
|
|
67
|
+
if(! is_null($request)) {
|
68
|
+
|
47
|
-
$this->doSearch();
|
69
|
+
$this -> doSearch($request);
|
70
|
+
|
71
|
+
}
|
48
72
|
|
49
73
|
}elseif (PostRequest::get('doUpdate')){
|
50
74
|
|
@@ -54,4 +78,100 @@
|
|
54
78
|
|
55
79
|
}
|
56
80
|
|
81
|
+
|
82
|
+
|
83
|
+
public function showPage()
|
84
|
+
|
85
|
+
{
|
86
|
+
|
87
|
+
return view('index');
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
public function doSearch($request)
|
94
|
+
|
95
|
+
{
|
96
|
+
|
97
|
+
print($request);
|
98
|
+
|
99
|
+
echo "<br><br>";
|
100
|
+
|
101
|
+
// var_dump($request);
|
102
|
+
|
103
|
+
$search_year = $request->get('search_year');
|
104
|
+
|
105
|
+
$search_month = $request->get('search_month');
|
106
|
+
|
107
|
+
$search_no = $request->get('search_no');
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
$query = date_table::query();
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
if (empty($search_year) && empty($search_month) && empty($search_month)) {
|
116
|
+
|
117
|
+
$query->where('Year', 'LIKE', "%{$search_year}%");
|
118
|
+
|
119
|
+
$query->where('Month', 'LIKE', "%{$search_month}%");
|
120
|
+
|
121
|
+
$query->where('No', 'LIKE', "%{$search_no}%");
|
122
|
+
|
123
|
+
}
|
124
|
+
|
125
|
+
if (!empty($search_no)) {
|
126
|
+
|
127
|
+
$query->where('No', 'LIKE', "%{$search_no}%");
|
128
|
+
|
129
|
+
}
|
130
|
+
|
131
|
+
if (!empty($search_year)) {
|
132
|
+
|
133
|
+
$query->where('Year', 'LIKE', "%{$search_year}%");
|
134
|
+
|
135
|
+
}
|
136
|
+
|
137
|
+
if (!empty($search_month)) {
|
138
|
+
|
139
|
+
$query->where('Month', 'LIKE', "${search_month}");
|
140
|
+
|
141
|
+
}
|
142
|
+
|
143
|
+
$data = $query->get();
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
return view('index', compact('data', 'search_year', 'search_month', 'search_no'));
|
148
|
+
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
public function doUpdate(Request $request)
|
154
|
+
|
155
|
+
{
|
156
|
+
|
157
|
+
// $update_startTime = $request->input('update_startTime');
|
158
|
+
|
159
|
+
// $update_endTime = $request->input('update_endTime');
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
// update(['StartTime' => $request->update_startTime]);
|
164
|
+
|
165
|
+
// update(['EndTime' => $request->update_endTime]);
|
166
|
+
|
167
|
+
return view('test');
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
}
|
172
|
+
|
57
173
|
```
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
updateメソッドの中ではviewの表示ができるか確認のため、viewを返す処理にしています。
|