更新機能を実装したい
解決したいこと
課題で出されたものと動画を参考に更新機能を実装したのですが、写真のようなエラーが出てしまいました。
どうすれば更新機能が実装できるのか教えてください!
githubのURLも載せますのでどこが悪いのか教えていただければ幸いです
https://github.com/Rune2525/project001.git
発生している問題・エラー
コマンドでリストを確認したのですが、こちらでも同じエラーが出ていてこれも原因の一つなのでしょうか?
もしそうなら解決策も教えてほしいです。
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
PostContoroller.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', [PostsController::class,
'create']);
Route::get('post/{id}/update-form', [PostsController::class, 'updateForm']);
Route::post('post/update', [PostsController::class,
'update']);
updateForm.brade.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
訂正箇所
ファイル名が「update.blade.php」になっていたので、「updateForm.blade.php」に直しました。
0