Laravelselect数据库表的最后一行

我想要得到表中插入的最后一个文件。 我知道方法'第一',为您提供表中的第一个文件,但我不知道如何做最后一个插入。

谢谢。

您需要按照您现在订购的相同字段进行订购,但是需要降序。 举个例子,如果上传完成时有一个时间戳叫upload_time ,你可以这样做;

前拉拉维尔4

 return DB::table('files')->order_by('upload_time', 'desc')->first(); 

对于Laravel 4及以上

 return DB::table('files')->orderBy('upload_time', 'desc')->first(); 

这将通过上传时间降序排列文件表中的行,然后取第一个。 这将是最新上传的文件。

你从来没有提到你是否使用雄辩,Laravel的默认ORM或不。 如果你是,假设你想通过created_at获取用户表的最新条目,你可能可以做到以下几点:

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

首先,它通过created_at字段来下令订购用户,然后logging结果的第一条logging。

这将返回一个User对象的实例,而不是一个集合。 当然,要使用这个select,你必须有一个用户模型,扩展Eloquent类。 这可能听起来有点令人困惑,但是开始真的很容易,而且ORM可以非常有帮助。

有关更多信息,请查看相当丰富和详细的官方文档 。

使用Laravel提供的最新范围。

 Model::latest()->first(); 

这样你就不会检索所有的logging。 orderBy更好的捷径。

Laravel系列有最后的方法

 Model::all() -> last(); // last element Model::all() -> last() -> pluck('name'); // extract value from name field. 

这是做到这一点的最好方法。

获取最后的logging细节

  1. Model ::all()->last(); or 2. Model ::orderBy('id', 'desc')->first(); 

获取最后的loggingID

 1. Model::all()->last()->id; or 2. Model ::orderBy('id', 'desc')->first()->id; 

尝试这个 :

型号::最新() – > get()方法;

如果您正在查找刚刚使用Laravel 3和4插入的实际行,则可以在新模型上执行savecreate操作,如:

 $user->save(); 

-要么-

 $user = User::create(array('email' => 'example@gmail.com')); 

那么插入的模型实例将被返回并且可以用于进一步的操作,诸如redirect到刚创build的用户的简档页面。

寻找最后插入的logging工作在低音量系统将几乎所有的时间工作,但如果你曾经插入同时进去,你可以结束查询find错误的logging。 在需要更新多个表的事务系统中,这可能真的成为一个问题。

不知怎的,所有上述似乎并没有为我在laravel 5.3工作,所以我解决了我自己的问题:

 Model::where('user_id', '=', $user_id)->orderBy('created_at', 'desc')->get(); 

希望能够把某人出去。

要获取最后的logging详细信息,请使用以下代码:

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