Laravel 更新记录

Laravel 更新记录

使用 DB 外观和 update 方法,我们可以更新记录。update方法的语法如下表所示。

语法 int update(string query, arraybindings = array())
参数 $query(string) − 在数据库中执行的查询
$bindings(array) − 与查询绑定的值
返回值 int
描述 对数据库执行更新语句。

示例

请观察下面的示例,以更好地理解如何更新记录。

步骤1 - 执行以下命令创建一个名为 StudViewController 的控制器。

php artisan make:controller StudUpdateController --plain

步骤2 − 成功执行后,您将收到以下输出 −

Laravel 更新记录

步骤3 − 将以下代码复制到文件 app/Http/Controllers/StudUpdateController.php

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.';
   }
}

步骤4 − 创建一个名为

resources/views/stud_edit_view.blade.php 的视图文件,并将以下代码复制到该文件中。

resources/views/stud_edit_view.blade.php

<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 asuser)
         <tr>
            <td>{{ user->id }}</td>
            <td>{{user->name }}</td>
            <td><a href = 'edit/{{ $user->id }}'>Edit</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

步骤5 − 创建另一个视图文件,命名为

resources/views/stud_update.php 并将以下代码复制到该文件中。

resources/views/stud_update.php

<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 echousers[0]->name; ?>'/>
               </td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "Update student" />
               </td>
            </tr>
         </table>
      </form>
   </body>
</html>

步骤6 - 添加 以下行到 app/Http/routes.php.

app/Http/routes.php.

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

步骤7 - 访问以下网址以更新数据库中的记录。

http://localhost:8000/edit-records

步骤8 - 输出将如下图所示。

Laravel 更新记录

步骤9 − 单击任何记录上的编辑链接,您将被重定向到一个页面,您可以在该页面上编辑该特定记录。

步骤10 − 输出将显示如下图所示。

Laravel 更新记录

步骤11 − 在编辑完该记录后,你会看到如下图所示的提示。

Laravel 更新记录

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程