私はデータベースにslugカラムを持っています。それはユニークです。クエリ例外をキャッチしますか?
ユニークでないスラッグで別の行を試して保存しようとすると、QueryExceptionエラーが発生します。
私はエラーをキャッチし、 "スラッグが存在する"という行に沿ってエラーメッセージを返すことを望みます。
try {
User::create($data);
} catch (\Illuminate\Database\QueryException $e) {
//return the error
}
は、上記の罰金ですが、私はちょうど別のQueryExceptionがスローされた場合、重複したスラグといけないこと、思ったんだけど、私は間違って重複したスラグのエラーメッセージを返します。
クエリ例外が何であったかを調べ、これに基づいてエラーメッセージを返す方法はありますか?私は例外がそれ自身のメッセージを提供することを知っているが、私はもう少しユーザーフレンドリーな何かを望んでいた。
:あなたは様々なエラー(経由トリガなど)について知らせるためのMySQLに
例を、独自の信号を実装することができます。あなたが望むなら、それらを連鎖さえすることもできます。 – aynber
aynber - OK一般的な例外をキャッチし、何?どのように私はそのdupキーのために把握するのですか? – panthro
@panthroなぜあなたはこのアプローチにも従っています、なぜあなたは創造のために送られる前にスラグを検証していませんか?私はそれがラベール検証のためだと信じていますか? - > '$ rules = ['slug' => 'exists:users'];' – prateekkathal