我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。


当前回答

老实说,这太令人沮丧了,我几乎不得不通过这里的所有答案来发现他们中的大多数都不是我想要的。事实上,我只想在浏览器中显示以下内容:

在我的表上创建的最后一行 只有一个资源

我并没有打算对一组资源进行排序,并以递减的方式排列列表,下面这行代码是我在Laravel 8项目中所使用的。

Model::latest()->limit(1)->get();

其他回答

Laravel 6中另一种奇特的方法。x(不确定,但必须适用于5。X也是):

DB:表(your_table) - > () - > ();

你也可以访问字段:

DB:表(your_table) - > () - > () - > id;

对于拉拉维尔 8:

Model::orderBy('id', 'desc')->withTrashed()->take(1)->first()->id

结果的sql查询:

Model::orderBy('id', 'desc')->withTrashed()->take(1)->toSql()

从“时间表”中选择*按“id”排序

使用pdo,我们可以得到文档中最后插入的id PDO lastInserted

过程

use Illuminate\Support\Facades\DB;
// ...
$pdo = DB::getPdo();
$id = $pdo->lastInsertId();
echo $id;

要获得最后的记录细节,使用下面的代码:

Model::where('field', 'value')->get()->last()

你从来没有提到你是否使用Eloquent, Laravel的默认ORM。如果你是,让我们假设你想要获得一个User表的最新条目,通过created_at,你可能会这样做:

User::orderBy('created_at', 'desc')->first();

首先,它根据created_at字段逐级排序用户,然后获取结果的第一条记录。

这将返回User对象的一个实例,而不是一个集合。当然,为了使用这个替代方案,您必须有一个User模型,扩展Eloquent类。这听起来可能有点令人困惑,但它真的很容易开始,ORM真的很有帮助。

要了解更多信息,请查看官方文档,它非常丰富和详细。