PHP Laravel 6 추천 영화 투고 사이트 작성 과정 5 : 갱신 기능 작성 편

4221 단어 PHPLaravel6

라우팅



업데이트 페이지에는 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');
    }

편집 링크를 색인에 추가



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에서 컨트롤러로 업데이트 내용 건너뛰기



양식 태그로 업데이트된 내용을 건너뜁니다.
이때, @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'));
    }

좋은 웹페이지 즐겨찾기