sql >> Databáze >  >> RDS >> Mysql

Laravel – Jak správně generovat jedinečné slimáky z názvů článků?

lastInsertId vrací ID pro každé připojení, což znamená, že souběžná připojení SQL se nebudou navzájem rušit.

LastInsertId() však pravděpodobně není nejlepší přístup k čemukoli, co děláte. Vidím, že už používáte modely Eloquent. Při vytváření nové položky v tabulce tyto modely vracejí odpovídající objekt a pak můžete získat ID přesně tohoto objektu bez jakéhokoli zmatku.

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

Tím se vždy vypíše správné ID článku a vy se nemusíte starat o podrobnosti implementace. Nevidím dobrý důvod pro použití lastInsertId v moderním webovém frameworku, možná s výjimkou několika okrajových případů.

Obecným pravidlem je, že se snažte vyhnout přímému jednání s databází ve vaší aplikaci a používejte abstrakce, které rámec poskytuje – váš kód bude mnohem lépe udržovatelný a snáze srozumitelný.

P.S. to pro vás nemusí být důležité, ale lastInsertId() s transakcemi nefunguje.




  1. Jak generovat sekvenční číslování ve wordpressu

  2. Mysqldump:Můžete změnit název tabulky, do které vkládáte?

  3. PDO odešle nezpracovaný dotaz do MySQL, zatímco Mysqli odešle připravený dotaz, oba produkují stejný výsledek

  4. SQL dotaz, výběr 5 nejnovějších v každé skupině