Rumah > Soal Jawab > teks badan
Saya ingin mendapatkan semula fail terakhir yang dimasukkan ke dalam jadual saya. Saya tahu kaedah first()
wujud dan memberikan anda fail pertama dalam jadual, tetapi saya tidak tahu bagaimana untuk mendapatkan sisipan terakhir.
P粉0200855992023-10-12 07:17:19
Gunakan skop terkini yang disediakan oleh Laravel di luar kotak.
Model::latest()->first();
Dengan cara ini anda tidak akan mendapatkan semula semua rekod. Pintasan yang lebih baik untuk orderBy.
P粉9330033502023-10-12 00:49:07
Anda perlu mengisih mengikut medan yang sama seperti yang anda isi sekarang, tetapi dalam susunan menurun.
Contohnya, jika anda mempunyai cap masa yang dipanggil upload_time
apabila muat naik selesai, anda boleh melakukan sesuatu seperti ini
Untuk versi sebelum Laravel 4
return DB::table('files')->order_by('upload_time', 'desc')->first();
Untuk Laravel 4 dan ke atas
return DB::table('files')->orderBy('upload_time', 'desc')->first();
Untuk Laravel 5.7 dan ke atas
return DB::table('files')->latest('upload_time')->first();
Ini akan mengisih baris dalam jadual fail mengikut masa muat naik, menurun, dan mengambil yang pertama. Ini akan menjadi fail yang paling baru dimuat naik.