Trong dự án nhiều khi chúng ta muốn lấy bản ghi cuối cùng trong 1 table nào đó.
Để giải quyết vấn đề này chúng ta có thể sử dụng hàm latest() hoặc orderBy() trong Laravel 6+.
Mình sẽ demo 3 cách lấy bản ghi cuối cùng trong table ở các ví dụ bên dưới nhé.
Đầu tiên mình sẽ tạo một table items có các dữ liệu demo như bên dưới.
Using latest() belong to created_at field:
Khi sử dụng latest() mặc định nó sẽ lấy bản ghi cuối cùng dựa vào trường created_at trong table items.
Thêm code vào controller như bên dưới.
app\Http\Controllers\ItemController.php
<?php namespace App\Http\Controllers; use App\Models\Item; class ItemController extends Controller
{ /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $last_record = Item::latest()->first()->toArray(); dd($last_record); }
}
Output:
array:7 [▼ "id" => 4 "title" => "Four" "description" => "_@.com" "is_active" => 1 "deleted_at" => null "created_at" => "2021-12-30T11:16:47.000000Z" "updated_at" => null
]
Using orderBy() belong to id field:
app\Http\Controllers\ItemController.php
<?php namespace App\Http\Controllers; use App\Models\Item; class ItemController extends Controller
{ /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $last_record = Item::orderBy('id', 'DESC')->first()->toArray(); dd($last_record); }
}
Output:
array:7 [▼ "id" => 4 "title" => "Four" "description" => "_@.com" "is_active" => 1 "deleted_at" => null "created_at" => "2021-12-30T11:16:47.000000Z" "updated_at" => null
]
Using latest() belong to id field:
app\Http\Controllers\ItemController.php
<?php namespace App\Http\Controllers; use App\Models\Item; class ItemController extends Controller
{ /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $last_record = Item::latest('id')->first()->toArray(); dd($last_record); }
}
Output:
array:7 [▼ "id" => 4 "title" => "Four" "description" => "_@.com" "is_active" => 1 "deleted_at" => null "created_at" => "2021-12-30T11:16:47.000000Z" "updated_at" => null
]
Hy vọng bài viết này sẽ giúp ích cho các bạn!