teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

descの削除

2020/07/15 00:30

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
@@ -205,48 +205,6 @@
205
205
  ```
206
206
 
207
207
 
208
- ```テーブル定義
209
- MariaDB [(none)]> use laboratory
210
- Database changed
211
- MariaDB [laboratory]> show tables;
212
- +----------------------+
213
- | Tables_in_laboratory |
214
- +----------------------+
215
- | failed_jobs |
216
- | lab_evaluation |
217
- | laboratories |
218
- | migrations |
219
- | password_resets |
220
- | users |
221
- +----------------------+
222
- 6 rows in set (0.001 sec)
223
-
224
- MariaDB [laboratory]> desc laboratories
225
- -> ;
226
- +----------------+---------------------+------+-----+---------+----------------+
227
- | Field | Type | Null | Key | Default | Extra |
228
- +----------------+---------------------+------+-----+---------+----------------+
229
- | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
230
- | lab_name | varchar(191) | NO | | NULL | |
231
- | lab_univ | varchar(191) | NO | | NULL | |
232
- | lab_evaluation | double(2,1) | NO | | NULL | |
233
- | add_time | date | NO | | NULL | |
234
- | created_at | timestamp | YES | | NULL | |
235
- | updated_at | timestamp | YES | | NULL | |
236
- +----------------+---------------------+------+-----+---------+----------------+
237
- 7 rows in set (0.061 sec)
238
-
239
- MariaDB [laboratory]> desc lab_evaluation;
240
- +------------+---------------------+------+-----+---------+----------------+
241
- | Field | Type | Null | Key | Default | Extra |
242
- +------------+---------------------+------+-----+---------+----------------+
243
- | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
244
- | created_at | timestamp | YES | | NULL | |
245
- | updated_at | timestamp | YES | | NULL | |
246
- +------------+---------------------+------+-----+---------+----------------+
247
- 3 rows in set (0.031 sec)
248
- ```
249
-
250
208
  ```CREATE文の取得結果
251
209
  MariaDB [laboratory]> SHOW CREATE TABLE lab_evaluation;
252
210
  +-------------------------------------------------------------------------------------------------------------------------+

5

MariaDBタグを追加しました。

2020/07/15 00:30

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
File without changes

4

CREATE文を追加しました。

2020/07/14 07:57

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
@@ -204,6 +204,7 @@
204
204
 
205
205
  ```
206
206
 
207
+
207
208
  ```テーブル定義
208
209
  MariaDB [(none)]> use laboratory
209
210
  Database changed
@@ -244,4 +245,36 @@
244
245
  | updated_at | timestamp | YES | | NULL | |
245
246
  +------------+---------------------+------+-----+---------+----------------+
246
247
  3 rows in set (0.031 sec)
248
+ ```
249
+
250
+ ```CREATE文の取得結果
251
+ MariaDB [laboratory]> SHOW CREATE TABLE lab_evaluation;
252
+ +-------------------------------------------------------------------------------------------------------------------------+
253
+ | Table | Create Table |
254
+ +---------------------------------------------------------------------------------------------------------------------+
255
+ | lab_evaluation | CREATE TABLE `lab_evaluation` (
256
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
257
+ `created_at` timestamp NULL DEFAULT NULL,
258
+ `updated_at` timestamp NULL DEFAULT NULL,
259
+ PRIMARY KEY (`id`)
260
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
261
+ +------------------------------------------------------------------------------------------------------+
262
+ 1 row in set (0.041 sec)
263
+
264
+ MariaDB [laboratory]> SHOW CREATE TABLE laboratories;
265
+ +-------+
266
+ | Table | Create Table |
267
+ +---------------------------------------------------------------------------------------------+
268
+ | laboratories | CREATE TABLE `laboratories` (
269
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
270
+ `lab_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
271
+ `lab_univ` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
272
+ `lab_evaluation` double(2,1) NOT NULL,
273
+ `add_time` date NOT NULL,
274
+ `created_at` timestamp NULL DEFAULT NULL,
275
+ `updated_at` timestamp NULL DEFAULT NULL,
276
+ PRIMARY KEY (`id`)
277
+ ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
278
+ +---------------------------------------------------------------------------------------------------------------------+
279
+ 1 row in set (0.004 sec)
247
280
  ```

3

テーブル定義をコードに変更した

2020/07/14 07:56

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
@@ -204,4 +204,44 @@
204
204
 
205
205
  ```
206
206
 
207
+ ```テーブル定義
208
+ MariaDB [(none)]> use laboratory
209
+ Database changed
210
+ MariaDB [laboratory]> show tables;
211
+ +----------------------+
212
+ | Tables_in_laboratory |
213
+ +----------------------+
214
+ | failed_jobs |
215
+ | lab_evaluation |
216
+ | laboratories |
217
+ | migrations |
218
+ | password_resets |
219
+ | users |
220
+ +----------------------+
221
+ 6 rows in set (0.001 sec)
222
+
223
+ MariaDB [laboratory]> desc laboratories
224
+ -> ;
225
+ +----------------+---------------------+------+-----+---------+----------------+
226
+ | Field | Type | Null | Key | Default | Extra |
227
+ +----------------+---------------------+------+-----+---------+----------------+
228
+ | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
229
+ | lab_name | varchar(191) | NO | | NULL | |
230
+ | lab_univ | varchar(191) | NO | | NULL | |
231
+ | lab_evaluation | double(2,1) | NO | | NULL | |
232
+ | add_time | date | NO | | NULL | |
233
+ | created_at | timestamp | YES | | NULL | |
234
+ | updated_at | timestamp | YES | | NULL | |
235
+ +----------------+---------------------+------+-----+---------+----------------+
236
+ 7 rows in set (0.061 sec)
237
+
207
- ![イメージ説明](1271bcc16aefe5ffdd998d23693f7b9d.png)
238
+ MariaDB [laboratory]> desc lab_evaluation;
239
+ +------------+---------------------+------+-----+---------+----------------+
240
+ | Field | Type | Null | Key | Default | Extra |
241
+ +------------+---------------------+------+-----+---------+----------------+
242
+ | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
243
+ | created_at | timestamp | YES | | NULL | |
244
+ | updated_at | timestamp | YES | | NULL | |
245
+ +------------+---------------------+------+-----+---------+----------------+
246
+ 3 rows in set (0.031 sec)
247
+ ```

2

テーブルの構造を追記

2020/07/14 07:52

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
@@ -202,4 +202,6 @@
202
202
  return redirect('/laboratory/{laboratory}');
203
203
  }
204
204
 
205
- ```
205
+ ```
206
+
207
+ ![イメージ説明](1271bcc16aefe5ffdd998d23693f7b9d.png)

1

コントローラー及び、web.phpの追記

2020/07/14 06:01

投稿

Yuu412
Yuu412

スコア37

title CHANGED
File without changes
body CHANGED
@@ -114,4 +114,92 @@
114
114
  @endsection
115
115
  ```
116
116
 
117
- 他にも必要な情報があれば教えてください。
117
+ 他にも必要な情報があれば教えてください。
118
+
119
+ ---
120
+ ### 追記
121
+
122
+ ```web.php
123
+ <?php
124
+
125
+ use App\Laboratory;
126
+ use Illuminate\Http\Request;
127
+
128
+ //エラー表示を適切にするため
129
+ Route::group(['middleware' => ['web']], function ()
130
+ {
131
+ //研究室サイトダッシュボード表示
132
+ Route::get('/', 'LabController@index');
133
+
134
+ //研究室の追加
135
+ Route::post('/laboratories', 'LabController@store');
136
+
137
+ //研究室の評価追加
138
+ Route::post('/laboratory/{laboratory}', 'LabController@store_evaluation');
139
+
140
+ Route::post('/', 'LabController@mv_add');
141
+
142
+ //更新画面
143
+ Route::post('/labedit/{laboratories}','LabController@mv_update');
144
+
145
+ //更新処理
146
+ Route::post('/laboratories/update', 'LabController@update');
147
+
148
+ //削除処理
149
+ Route::delete('/laboratory/{laboratory}', 'LabController@delete');
150
+
151
+ Auth::routes(); //認証機能を使用する。
152
+
153
+ Route::get('/home', 'HomeController@index')->name('home');
154
+
155
+
156
+ //========リンク設定========================================
157
+ //TO:研究室の情報追加ページ
158
+ Route::get('/add', 'LinkController@to_add');
159
+
160
+ //TO:研究室の情報追加ページ
161
+ Route::get('/add_evaluation', 'LinkController@to_add_evaluation');
162
+
163
+ //TO:各大学ページ
164
+ Route::get('/univ/{univ_name}','LinkController@to_univ');
165
+
166
+ //TO:各研究室ページ
167
+ Route::get('/lab/{lab_details}','LinkController@to_lab_details');
168
+ });
169
+
170
+ ```
171
+
172
+ ```LabController(該当部のみ)
173
+
174
+ public function store_evaluation(Request $request)
175
+ {
176
+ $validator = Validator::make($request->all(), [
177
+ 'professor' => 'required|min:1|max:5',
178
+ 'employment' => 'required|min:1|max:5',
179
+ 'atmosphere' => 'required|min:1|max:5',
180
+ 'facility' => 'required|min:1|max:5',
181
+ 'skill' => 'required|min:1|max:5',
182
+ ]);
183
+
184
+ //バリテーション:エラー
185
+ if($validator->fails()) {
186
+ return redirect('/laboratory/{laboratory}')
187
+ ->withInput()
188
+ ->withError($validator);
189
+ }
190
+
191
+ //研究室のDBにデータを格納
192
+ //Eloquentモデル (=MySQL記述なしにデータベース管理をしてくれる)
193
+ $today = date("Y/m/d"); //現在時刻の取得
194
+ $lab_evaluation = new lab_evaluation;
195
+ $lab_evaluation->professor = $request->professor;
196
+ $lab_evaluation->employment = $request->employment;
197
+ $lab_evaluation->atmosphere = $request->atmosphere;
198
+ $lab_evaluation->facility = $request->facility;
199
+ $lab_evaluation->skill = $request->skill;
200
+ $lab_evaluation->add_time = $today;
201
+ $lab_evaluation->save();
202
+ return redirect('/laboratory/{laboratory}');
203
+ }
204
+
205
+ ```