Laravel Database - Update Records (Cập nhật bản ghi)

Chúng ta có thể cập nhật các bản ghi bằng cách sử dụng facade DB với phương thức update (cập nhật). Cú pháp của phương thức update như trong bảng sau.

Cú pháp Update Records (Cập nhật bản ghi)

Cú phápint update(string $query, array $bindings = array())
Thông số
  • $ query (string) - truy vấn để thực thi trong cơ sở dữ liệu
  • $ bindings (array) - các giá trị để liên kết với các truy vấn
Trả vềint
Mô tảChạy câu lệnh cập nhật đối với cơ sở dữ liệu

Ví dụ Update Records (Cập nhật bản ghi)

Quan sát ví dụ sau để hiểu thêm về cập nhật bản ghi

Bước 1: Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudUpdateController.

php artisan make:controller StudUpdateController

Bước 2: Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Bước 3: Sao chép mã sau vào tệp app/Http/Controllers/ StudUpdateController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudUpdateController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_edit_view',['users'=>$users]);
   }
   public function show($ID) {
      $users = DB::select('select * from student where ID = ?',[$ID]);
      return view('stud_update',['users'=>$users]);
   }
   public function edit(Request $request,$ID) {
      $Name = $request->input('stud_name');
      DB::update('update student set name = ? where ID = ?',[$Name,$ID]);
      echo "Record updated successfully.<br/>";
      echo '<a href = "/edit-records">Click Here</a> to go back.';
   }
}

Bước 4: Tạo mới 1 stud_edit_view theo đường dẫn sau resources/views/stud_edit_view.blade.php và dán đoạn code sau vào nó

<html>
   <head>
      <title>View Student Records</title>
   </head>   
   <body>      
      <table border = "1">
         <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Edit</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->ID }}</td>
            <td>{{ $user->Name }}</td>
            <td><a href = 'edit/{{ $user->ID }}'>Edit</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Bước 5: Tạo một tệp view theo đường dẫn sau resource/views/stud_update.php và sao chép đoạn mã sau vào tệp đó.

<html>   
   <head>
      <title>Student Management | Edit</title>
   </head>   
   <body>
      <form action = "/edit/<?php echo $users[0]->ID; ?>" method = "post">
         <input type = "hIDden" name = "_token" value = "<?php echo csrf_token(); ?>">      
         <table>
            <tr>
               <td>Name</td>
               <td>
                  <input type = 'text' name = 'stud_name' 
                     value = '<?php echo$users[0]->Name; ?>'/>
               </td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Update student" />
               </td>
            </tr>
         </table>
      </form>
   </body>
</html>

Bước 6: Khái báo các route sau tại app/Http/routes.php.

Route::get('edit-records','StudUpdateController@index');
Route::get('edit/{id}','StudUpdateController@show');
Route::post('edit/{id}','StudUpdateController@edit');

Bước 7: Truy cập đường dẫn sau để cập nhật bản ghi trên database.

http://localhost:8000/edit-records

Bước 8: Kết quả sẽ như hình sau:

Bước 9: Nhấp vào liên kết chỉnh sửa trên bất kỳ bản ghi nào và bạn sẽ được chuyển hướng đến một trang nơi bạn có thể chỉnh sửa bản ghi cụ thể đó.

Bước 10: Chỉnh sửa và nhấn Update student. Kết quả sẽ xuất hiện như trong hình sau.

Bước 11: Nhấn click here để xem lại kết quả sau khi cập nhật:


Bình luận