Laravel - 删除记录



我们可以使用DB外观和delete方法删除记录。delete方法的语法如下表所示。

语法 int delete(string $query, array $bindings = array())
参数
  • $query(字符串) − 在数据库中执行的查询
  • $bindings(数组) − 与查询绑定的值
返回值 int
描述 对数据库运行删除语句。

示例

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

php artisan make:controller StudDeleteController --plain

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

Delete Records

步骤 3 − 将以下代码复制到文件

app/Http/Controllers/StudDeleteController.php

app/Http/Controllers/StudDeleteController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudDeleteController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_delete_view',['users'=>$users]);
   }
   public function destroy($id) {
      DB::delete('delete from student where id = ?',[$id]);
      echo "Record deleted successfully.<br/>";
      echo '<a href = "/delete-records">Click Here</a> to go back.';
   }
}

步骤 4 − 创建一个名为

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

resources/views/stud_delete_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 as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'delete/{{ $user->id }}'>Delete</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

步骤 5 − 在app/Http/routes.php中添加以下几行。

app/Http/routes.php

Route::get('delete-records','StudDeleteController@index');
Route::get('delete/{id}','StudDeleteController@destroy');

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

Name Edit

步骤 7 − 点击删除链接从数据库中删除该记录。您将被重定向到一个页面,您将看到如下所示的消息。

Record Deleted

步骤 8 − 点击“点击此处”链接,您将被重定向到一个页面,您将看到除已删除记录之外的所有记录。

Records
laravel_working_with_database.htm
广告