Laravel教程:使用DB::update()方法更新数据记录
使用DB::update()方法更新记录。 DB::update()方法的语法如下表中所示。
| 语法 | int update(string $query, array $bindings = array()) | 
|---|---|
| 参数 | 
  | 
| 返回值 | int | 
| 描述 | 
 在数据库上运行一个更新语句 
 | 
示例
第1步- 执行以下命令来创建一个名为 StudUpdateController 的控制器。
php artisan make:controller StudUpdateController
第2步 - 成功执行后,您会收到以下输出 -


第3步 - 将以下代码复制到文件 - 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 "更新记录成功.<br/>";
      echo '<a href = "/edit-records">点击这里</a> 返回';
   }
}
第4步 - 创建一个名为 resources/views/stud_edit_view.blade.php 的视图文件,并复制下面的代码到此文件中。
resources/views/stud_edit_view.blade.php
<html>
   <head>
      <title>查看学生记录</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 }}'>编辑</a></td>
         </tr>
         @endforeach
      </table>
   
   </body>
</html>
第5步 - 创建一个名为 resources/views/stud_update.php 的另一个视图文件,并复制下面的代码放入下面的文件中。
resources/views/stud_update.php
<html>
   
   <head>
      <title>编辑 | 学生管理</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>名字</td>
               <td>
                  <input type = 'text' name = 'stud_name' 
                     value = '<?php echo$users[0]->name; ?>'/>
               </td>
            </tr>
            <tr>
               <td colspan = '2'>
                  <input type = 'submit' value = "更新学生信息" />
               </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步 - 输出结果如下图所示


步骤9- 点击记录"编辑"链接,将被重定向到一个页面,可以编辑特定的记录。
第10步 - 输出如下面图所示。


第11步 - 编辑这条记录后,会看到一个提示图如下图所示。


        THE END
    
        
        



