Laravel刪除資料


我們可以使用DB::delete()方法刪除記錄。刪除方法的語法如下表所示。
語法 int delete(string $query, array $bindings = array())
引數
  • $query(string) – 在資料庫中查詢執行
  • $bindings(array) – 與查詢系結值
Returns int
Description
在資料庫執行一個delete語句。

範例

第1步 - 執行以下命令來建立一個名為 StudDeleteController 控制器。
php artisan make:controller StudDeleteController
第2步 - 成功執行後,您會收到以下輸出 -


第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 "刪除記錄成功.<br/>";
      echo '<a href="/delete-records">點選這裡</a> 返回.';
   }
}
第4步 - 建立一個名為 resources/views/stud_delete_view.blade.php 並複製下面的程式碼到這個檢視檔案。

resources/views/stud_delete_view.blade.php

<html>   
   <head>
      <title>檢視學生記錄</title>
   </head>
   
   <body>
      <table border = "1">
         <tr>
            <td>編號ID</td>
            <td>名字</td>
            <td>操作</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'delete/{{ $user->id }}'>刪除</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步 - 存取URL:http://localhost:8000/edit-records ,如下圖顯示輸出結果


第7步 - 點選刪除連結執行刪除資料庫中的記錄(刪除編號為 3 的記錄)。您將被重定向到一個頁面,會看到一條訊息,如下面圖中所示。


第8步 - 點選「點選這裡」連結,將被重定向到一個頁面,你會看到有一條記錄已經被刪除了。