Home > Blockchain >  can i get last 3 data from database record?
can i get last 3 data from database record?

Time:11-30

I have 6 data in database record but I want to get last 3 data

this is my data :

criteria_id criteria_name
1 A
2 B
3 C
4 D
5 E
6 F

i have tried with this code :

 $criteria= criteria::latest()->take(3)->get();

but i got data like this :

criteria_id criteria_name
6 F
1 A
2 B

and I also tried with orderby the result is like this :

criteria_id criteria_name
6 F
5 E
4 D

the result should be like this, i want this result :

criteria_id criteria_name
4 D
5 E
6 F

how can i get data like last result ?

CodePudding user response:

Your row would need a created_at column to use latest(), but what you have would work. Alternatively, you could sort on the criteria_id column, then take 3.

Criteria::orderBy('criteria_id', 'desc')->take(3)->get();

Edit: Just saw your changes. Just do the above then add a sortBy on the collection

Criteria::orderBy('criteria_id', 'desc')->take(3)->get()->sortBy('criteria_id');

CodePudding user response:

Instead of latest() make a sortition in a descending order and simply take as many as you need.

  • Related