简体   繁体   中英

get last id form database in laravel-8

I want to get only the last inserted data from my database. Here, I get all data from the database but I want only the last value. This is ProductController.php

function indextwo() 
{
    return DB::select("select * from  products");
}

This is web.php

Route::get('products_link', [ProductController::class, 'indextwo']);

Here is my current output:

在此链接中,这是我插入的所有数据,但我只想要最后一个数据

You can get the last id using Query Builder and Eloquent .

Query Builder

function indextwo() {
    return DB::table('products')->orderBy('id', 'DESC')->first();
}

Eloquent

function indextwo() {
    return Product::orderBy('id', 'DESC')->first();
}

Maybe you can use latest() function for get

$user = DB::select("select * from  products")
            ->latest()
            ->first();

Maybe you can use Model name direct in controller like your model name is "Product" and also use limit() and latest()

$user = Products::latest()->limit(1);

A very simple way you can follow

Product::query()->latest()->first() 

It will return you the latest inserted data according to order by id desc.

Another way:

Product::query()->orderByDesc('id')->first();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM