質問編集履歴

2

コードの追加

2020/08/20 04:55

投稿

yamadaippei
yamadaippei

スコア12

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

マークダウン形式に訂正。 コードの追加。

2020/08/20 04:55

投稿

yamadaippei
yamadaippei

スコア12

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
- Too few arguments to function 0 passed in and exactly 1 expected
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
- Route::post('/', 'work@judge');
41
+ <?php
30
42
 
31
43
 
32
44
 
33
-
34
-
35
- public function doSearch(Request $request)
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
- public function doUpdate(Request $request)
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を返す処理にしています。