sql >> データベース >  >> RDS >> Mysql

Laravel-記事のタイトルからユニークなスラッグを適切に生成する方法は?

    lastInsertIdは、IDの接続ごとを返します。これは、同時SQL接続が相互に干渉しないことを意味します。

    ただし、lastInsertId()は、実行していることに対しておそらく最善のアプローチではありません。すでにEloquentモデルを使用しているようです。テーブルに新しいエントリを作成すると、それらのモデルは対応するオブジェクトを返し、混乱することなくそのオブジェクトのIDを正確に取得できます。

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

    これにより、常に正しい記事IDが出力され、実装の詳細について心配する必要はありません。エッジケースが非常に少ない場合を除いて、最新のWebフレームワークでlastInsertIdを使用する正当な理由がわかりません。

    原則として、アプリケーションでデータベースを直接処理することは避け、フレームワークが提供する抽象化を使用するようにしてください。これにより、コードがはるかに保守しやすくなり、理解しやすくなります。

    P.S.これは重要ではないかもしれませんが、lastInsertId()はトランザクションでは機能しません。




    1. mysql5.5でplayを接続しようとするとエラーが発生します

    2. SQLのサブクエリでLIKEとINを使用する

    3. 2 つの行の値を減算し、それを新しい列 (後続の行ではない) に挿入する

    4. CHAR(10)でクラウドに向かう