Laravel中使用Eloquent删除表中的所有记录

Laravel中使用Eloquent删除表中的所有记录

在本节中,我们将学习如何删除表中的所有记录。我们将使用Laravel的Eloquent来实现这个功能。我们可以使用Laravel的不同版本,如6、7和8来删除表中的所有记录。Laravel包括Eloquent,它是一个对象关系映射器。使用Laravel的Eloquent,我们可以轻松地与数据库进行交互。每个模型都对应于数据库中的一个表。使用相应的模型,我们可以轻松地与该表进行交互。Eloquent用于轻松地从数据库表中获取记录,因为使用它,我们还可以向表中添加、编辑和删除记录。假设我们将缓存所有的记录。如果用户从表中删除所有记录,这些记录将自动从缓存中删除。但是,仅当我们使用Laravel的Eloquent模型时,我们才能从缓存中删除它。

在第一个示例中,我们将使用 truncate() 函数来删除所有记录。在第二个示例中,我们将按照id来删除记录。因此,我们将指定一些 id 并使用delete()函数来删除该特定id的所有记录。如果我们使用truncate()函数来删除表中的所有记录,在删除后,自增值将重置为1,这是初始位置。但是,如果我们使用delete()函数来删除记录,在删除后,自增值将不会重置为1。

这就是删除和截断之间的区别。因此,基本上,如果我们想要删除和重置表中的所有内容,我们应该选择 truncate() 函数。如果我们的表包含一个主列并且设置为自动递增,我们不应该使用delete()函数,因为在这种情况下,自增值不会重置。在第三个示例中,我们尝试按条件删除记录。在第四个示例中,我们将放入 表名 并使用delete()函数来删除表中的所有记录。

示例1:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        User::truncate();
    }
}

示例2:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        User::whereNotNull('id')->delete();
    }
}

示例 3:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        User:where('id', 'like' '%%')->delete();
    }
}

示例4:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        DB::table('users')->delete();
    }
}

现在我们的代码已经准备好运行了。当我们运行它时,我们将能够删除表格行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程