更新処理機能を実装したい
解決したいこと
課題で出されたものと動画を参考に更新機能を実装したのですが、写真のようなエラーが出てしまいました。
どうすれば更新機能が実装できるのか教えてください!
githubのURLも下記に載せますので、訂正箇所がありましたら教えていただきますと幸いです。
https://github.com/Rune2525/project001.git
追記:先のスレッド https://qiita.com/jankenpon0205/questions/94e58bcb582635a36dd2 の続きであること、先のスレッドの問題は回答をもらって解決したが新たに別の問題が出た、このスレッドは新たに出た別の問題に関する質問です。誰か教えていただけませんか?
index.blade.php
@extends('layouts.app')
@section('content')
<div class="card-header">Board</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
@foreach($posts as $post)
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ $post->title }}</h5>
<h5 class="card-title">
カテゴリー:{{ $post->category->category_name }}
</h5>
<h5 class="card-title">
投稿者:{{ $post->user->name }}
</h5>
<p class="card-text">{{ $post->content }}</p>
<a href="/post/{{ $post->id }}/update-form" class="btn btn-primary">更新</a>
</div>
</div>
@endforeach
</div>
@endsection
PostController.php
public function create(Request $request)
{
$post = $request->input('newPost');
DB::table('posts')->insert([
'post' => $post
]);
return redirect('/index');
}
'''中略'''
public function updateForm($id)
{
$post = DB::table('posts')
->where('id', $id)
->first();
return view('posts.updateForm', ['post' => $post]);
}
public function update(Request $request)
{
$id = $request->input('id');
$up_post = $request->input('upPost');
DB::table('posts')
->where('id', $id)
->update(
['post' => $up_post]
);
return redirect('/index');
}
web.php
Route::post('post/create', [PostController::class,
'create']);
Route::get('post/{id}/update-form', [PostController::class, 'updateForm']);
Route::post('post/update', [PostController::class,
'update']);
updateForm.blade.php
@extends('layouts.app')
@section('content')
<div class="card-header">Board</div>
<div class="card-body">
{!! Form::open(['url' => '/post/update']) !!}
<div class="form-group">
{!! Form::hidden('id', $post->id) !!}
{!! Form::input('text', 'upPost', $post->post, ['required', 'class' => 'form-control']) !!}
</div>
<button type="submit" class="btn btn-primary pull-right">更新</button>
{!! Form::close() !!}
</div>
@endsection
自分で試したこと
マイグレーションの確認をしましたが、「Nothing to migrate.」と表示されるだけで、エラーが解決できませんでした