Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Laravel - Bagaimana cara menghasilkan siput unik dari judul artikel dengan benar?

lastInsertId mengembalikan id per koneksi, artinya koneksi sql bersamaan tidak akan saling mengganggu.

Namun, lastInsertId() mungkin bukan pendekatan terbaik untuk apa pun yang Anda lakukan. Saya melihat Anda sudah menggunakan model Eloquent. Saat membuat entri baru dalam tabel, model tersebut mengembalikan objek yang sesuai, dan kemudian Anda bisa mendapatkan id dari objek tersebut tanpa kebingungan.

$article = Article::create(['title' => 'First post', 'content' => '...']);
echo $article->id;

Ini akan selalu menampilkan id artikel yang benar dan Anda tidak perlu khawatir tentang detail implementasi. Saya tidak dapat melihat alasan yang baik untuk menggunakan lastInsertId dalam kerangka kerja web modern, kecuali mungkin untuk beberapa kasus tepi.

Sebagai aturan umum, cobalah untuk menghindari berurusan langsung dengan database dalam aplikasi Anda dan gunakan abstraksi yang disediakan kerangka kerja - ini akan membuat kode Anda jauh lebih mudah dipelihara dan lebih mudah dipahami.

P.S. yang mungkin tidak penting bagi Anda, tetapi lastInsertId() tidak berfungsi dengan transaksi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL / Doctrine :Masalah Gabung Kiri

  2. MySQL Menghapus jeda baris tambahan dari kolom

  3. Backup Database Logis Menggunakan MySQL Shell

  4. MySQL reverse-i-search

  5. Kembali ke Replikasi Tradisional Dari GTID