Chủ Nhật, 18 tháng 9, 2016

#Part7 laravel 5 Blog Tutorial : Update Database Recorded in laravel 5.3


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 :
  1. Create Single Page and 404 Page in laravel 5.3
  2. Insert Data, Validation, Redirect Page and Flash Message
  3. 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"

Update Database Recored in laravel 5.3

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