Laravel 删除记录
我们可以使用 DB 门面和 delete 方法来删除记录。delete 方法的语法如下表所示。
语法 | int delete(string query, arraybindings = array()) |
---|---|
参数 | $query(string) − 在数据库中执行的查询$bindings(array) − 与查询绑定的值 |
返回值 | int |
描述 | 在数据库中执行一个删除语句。 |
示例
步骤1 - 执行下面的命令创建一个叫做 StudDeleteController 的控制器。
php artisan make:controller StudDeleteController --plain
步骤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 "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 asuser)
<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 - 输出将如下图所示。
步骤7 - 点击删除链接以从数据库中删除该记录。您将被重定向到一个页面,在该页面中您将看到以下图片中显示的消息。
步骤8 − 点击 “点击这里” 链接,你将被重定向到一个页面,在该页面上你将看到所有记录,除了删除的记录。