Create blog using laravel 5.3 part7 - this lessons about how to Update data into Database Recored in laravel 5.3 apps/blog. At the previews lessons, we have learned about displaying data from database, make a new form to create new data and save it into database, validation, create single page, error valitaion in laravel 5.3, you just read that tutorial read previews lessons :
- Create Single Page and 404 Page in laravel 5.3
- Insert Data, Validation, Redirect Page and Flash Message
- Etc..
Next, we will learn how to edit and delete data/articel using Eloquent Orm method.
Updating Database Record
at the our Controller (BlogController.php) we need add some function, that is "edit function" dan "update function"
Edit Function
public function edit($id)
{
// edit function here
$blog = Blog::find($id);
// return to 404 page
if(!$blog){
abort(404);
}
// display the article to single page
return view('blog.edit')->with('blog',$blog);
}
Update Function
public function update(Request $request, $id)
{
// we will create validation function here
$this->validate($request,[
'title'=> 'required',
'description' => 'required',
]);
$blog = Blog::find($id);
$blog->title = $request->title;
$blog->description = $request->description;
// save all data
$blog->save();
//redirect page after save data
return redirect('blog')->with('message','data hasbeen edited!');
}
Next, add new views in the \resources\views\blog folder (edit.blade.php)
edit.blade.php
<h2>Edit Article Post</h2>
<form class="" action="/blog/{{ $blog->id }}" method="post">
<input type="text" name="title" value="{{ $blog->title }}" placeholder="this is title"><br>
{{ ($errors->has('title')) ? $errors->first('title') : '' }} <br>
<textarea name="description" rows="8" cols="40" placeholder="this is description">{{ $blog->description }}</textarea><br>
{{ ($errors->has('description')) ? $errors->first('description') : '' }} <br>
<input type="hidden" name="_method" value="put">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" name="name" value="edit">
</form>
Next, to create a link to the edit pages, we need update our Index page (index.blade.php)
index.blade.php
{{ Session::get('message') }}
<h1>My First Blog</h1>
@foreach ($blogs as $blog)
<h2><a href="/blog/{{ $blog->id }}">{{ $blog->title }}</a></h2>
<p>{{ $blog->description }}</p>
<a href="/blog/{{ $blog->id }}/edit">Edit this Post</a>
<hr>
@endforeach
Video Tutorial Update Database Recored in laravel 5.3
See you next lessons...
Không có nhận xét nào:
Đăng nhận xét