[프로젝트 시작 전/후 설정]
- npm run dev 실행 // webpack이 아닌 vite를 실행하기 위함
- php artisan serve 실행// 서버 띄우기
- DB실행
mysql.server start
mysql -u root -p
- DB종료
exit
mysql.server stop
목표 : 게시글 소유자가 게시글을 수정할 수 있도록 수정하기
Route::resource('blog',BlogController::class)
->only(['index', 'store','edit','update'])
->middleware(['auth','verified']);
php artisan
: 명령의 목록이 출력됨
php artisan route:list
: 라우트 목록이 출력됨
위에서 생성한 수정 파일을 사용하도록 설정
//수정폼
/**
* Show the form for editing the specified resource.
*/
public function edit(Blog $blog): View
{
$this->authorize('update',$chirp);
return view('blog.edit', ['chirp'=> $chirp]);
}
//수정을 처리
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Blog $blog): RedirectResponse
{
$this->authorize('update', $blog);
$validated = $request->validate(['message' => 'required|string|max:255']);
$blog->update($validated);
return redirect(route('blog.index'));
}
블리즈는 기본적으로 인증을 사용하기 때문에 update할 사람을 지정해야 함.
php artisan make:policy BlogPolicy --model=Blog
위 명령어 실행 후 나오는 파일로 이동
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Blog $blog): bool
{
return $blog->user()->is($user);
}
이제 수정이 가능하다
참고
https://www.youtube.com/watch?v=aQMZbx3sVjI&list=PLTb3qGCzYjS3qRYk3srTAyrHBnwbML_9m&index=54