概要
よくあるCRUDの個人メモ。
編集画面からデータを変更できるまでの過程をまとめる。
前提条件
以下記事を参考に詳細画面を作成していること。
https://qiita.com/Hiroto10/items/566f817625d79d727299
Controller
tasks.edit
及びtasks.update
の編集を行う。
app/Http/Controllers/TasksController.php
public function edit($id)
{
$task = Task::findOrFail($id);
return view('tasks.edit', [
'task' => $task,
]);
}
$request->validate([
'task' => 'required|max:255'
]);
$task = Task::findOrFail($id);
$task->task = $request->task;
$task->save();
return redirect('/');
}
View
編集画面の作成を行う。
resources/views/tasks/edit.blade.php
@extends('layouts.app')
@section('content')
<h1>タスク: {{ $task->task }} の編集</h1>
<div class="row">
{!! Form::model($task, ['route' => ['tasks.update',$task->id], 'method' => 'put']) !!}
<div class="form-group">
{!! Form::label('task', 'タスク') !!}
{!! Form::text('task', null, ['class' => 'form-control']) !!}
</div>
{!! Form::submit('更新', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
</div>
@endsection
詳細画面に編集画面に遷移するボタンを配置する。
resources/views/tasks/show.blade.php
{!! link_to_route('tasks.edit', 'このタスクを編集', ['task' => $task->id], ['class' => 'btn btn-primary']) !!}
編集画面よりdbの値を変更できていればok。
以上