PHP Laravel 6 おすすめ映画投稿サイト作成過程 5:更新機能作成編
ルーティング
更新ページにはeditを使用します。
| GET|HEAD | recommends/{recommend}/edit | recommends.edit | App\Http\Controllers\RecommendController@edit | web |
更新をDBに登録するにはupdateを使用します。
| PUT|PATCH | recommends/{recommend} | recommends.update | App\Http\Controllers\RecommendController@update | web |
viewの作成
editに対するコントローラーの作成
recommend/app/Http/Controllers/RecommendController.php
public function edit(Recommend $recommend)
{
return view('recommends.edit');
}
editへのリンクをindexに追加
recommend/resources/views/recommends/index.blade.php
<table>
<thead>
<tr>
<th>タイトル</th>
<th>画像:現在は空</th>
<th>URL</th>
<th>操作</th>
</tr>
</thead>
@foreach($recommends as $recommend)
<tr>
<td>{{$recommend->title}}</td>
<td>{{$recommend->image_file_name}}</td>
<td>{{$recommend->url}}</td>
<td><a href="{{route('recommends.show', $recommend->id)}}">詳細</a></td>
<td><a href="{{route('recommends.edit', ['recommend' => $recommend])}}">編集</a></td>
</tr>
@endforeach
</table>
editからコントローラーへ更新内容を飛ばす
recommend/app/Http/Controllers/RecommendController.php
public function edit(Recommend $recommend)
{
return view('recommends.edit');
}
recommend/resources/views/recommends/index.blade.php
<table>
<thead>
<tr>
<th>タイトル</th>
<th>画像:現在は空</th>
<th>URL</th>
<th>操作</th>
</tr>
</thead>
@foreach($recommends as $recommend)
<tr>
<td>{{$recommend->title}}</td>
<td>{{$recommend->image_file_name}}</td>
<td>{{$recommend->url}}</td>
<td><a href="{{route('recommends.show', $recommend->id)}}">詳細</a></td>
<td><a href="{{route('recommends.edit', ['recommend' => $recommend])}}">編集</a></td>
</tr>
@endforeach
</table>
editからコントローラーへ更新内容を飛ばす
formタグで更新した内容を飛ばします。
この時、@method('PUT')を忘れずに。
recommend/resources/views/recommends/edit.blade.php
<table>
<thead>
<tr>
<th>タイトル</th>
<th>映画URL</th>
<th>概要</th>
<th>感想</th>
</tr>
<tr>
<th><input type="text" name='title'></th>
<th><input type="URL" name='url'></th>
<th><textarea name="description" id="" cols="30" rows="10"></textarea></th>
<th><textarea name="Impressions" id="" cols="30" rows="10"></textarea></th>
</tr>
</thead>
DBの更新
editから受け取った内容を、Modelのアップデートメソッドを使用して更新します。
recommend/app/Http/Controllers/RecommendController.php
public function update(Request $request, Recommend $recommend)
{
$recommend->update($request->all());
return redirect()->route('recommends.show', compact('recommend'));
}
Author And Source
この問題について(PHP Laravel 6 おすすめ映画投稿サイト作成過程 5:更新機能作成編), 我々は、より多くの情報をここで見つけました https://qiita.com/RealXiaoLin/items/3c5aad9457dab496f6d9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .