sql >> Database >  >> RDS >> Mysql

Laravel - Hoe genereer je op de juiste manier unieke slugs uit artikeltitels?

lastInsertId retourneert id's per verbinding, wat betekent dat gelijktijdige SQL-verbindingen elkaar niet zullen hinderen.

LastInsertId() is echter waarschijnlijk niet de beste aanpak voor wat u ook doet. Ik zie dat je al Eloquent-modellen gebruikt. Bij het maken van een nieuw item in de tabel, retourneren die modellen het corresponderende object, en dan kun je precies dat object id krijgen zonder enige verwarring.

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

Hierdoor wordt altijd het juiste artikel-ID weergegeven en hoeft u zich geen zorgen te maken over de implementatiedetails. Ik zie geen goede reden om lastInsertId te gebruiken in een modern webframework, behalve misschien voor een paar randgevallen.

Probeer als algemene regel te voorkomen dat u rechtstreeks met de database in uw toepassing omgaat en gebruik de abstracties die het raamwerk biedt - het zal uw code veel beter onderhoudbaar en eenvoudiger te begrijpen maken.

PS dat is misschien niet belangrijk voor u, maar lastInsertId() werkt niet met transacties.




  1. MySQL sorteren op aantal keren

  2. postgresql jsonb hoofdletterongevoelige query

  3. Hoe u Change Data Capture (CDC) op een database in SQL Server inschakelt - SQL Server-zelfstudie

  4. ExecuteNonQuery retourneert altijd nul. Kan ik deze 0-waarde in mijn code gebruiken voor validatie?