Laravelには、ユーザーが登録できるAPIがあります。Laravel 5でユニークな検証を使用しているにもかかわらず、重複するフィールド
登録は、電子メールを一意にするための簡単な検証を持っており、このようなものになります。重複した電子メールと私のテーブルで
public function register(Request $request) {
$this->validate($request, [
'email' => 'required|email|unique:users|max:255',
'password' => 'required|min:6|max:50',
]);
// create new user and save model
}
残念ながら、私はまだ見つけかなりの数のユーザーを。
私のアプリは、同じリクエストを複数回連続して送信することがあると考えています。これは、データベースにまだ追加されていない電子メールと同じ電子メールを持っているにもかかわらず、両方の要求が検証に合格することを意味します。
電子メールの一意性を確実にするためにこの問題を解決するにはどうすればよいですか?
どのように役立ちますDBの 'email'カラムに' UNIQUE'キーを使用することについては?次に、コード1062でSQLエラーが発生したかどうかを確認できます。このエラーは、重複エントリ()をに置き換えます。 –
はい固有のキーを追加する予定でしたが、エラーを検出して処理できるようにしたかったのです。あなたが言われたようにエラーをどう処理することができますか? –
実際にデータを挿入するときに 'try-catch block'を使うことができます: –