2016-10-09 3 views
0

でない場合、値は検証を使用して、データベース内で一意かどうかであり、ここでのコードであれば、私はチェックしていた値を返しますLaravel ウェブサイトの入力が重複しているかどうかを知らせるメッセージ。私がやろうとしています何は、それがユニーク

ウェブサイト列が含まれているをリードしてテーブルから値を返すことです。

if ($validator->fails()) { 
      $failedRules = $validator->failed(); 

     } 

私はで同じ重複行から値を返すために、それを修正する可能性がどのようにテーブルをリード:?私はこのコードが見つかっ

+0

はなぜこれを行い、独自の検証ルールを記述していませんか? – Tom

+0

私はそれが重複しているか、より良い方法があるときにテーブルから値を返すクエリを書く必要がありますか? – Frank

+0

ええ、ちょうどエラーとして値を返してください。 – Tom

答えて

0

たぶん、あなたのためにこの作品のようなもの

  $rules = [ 
       'number'  => 'required | unique:leads', 
       'website'  => 'required | unique:leads', 
       'lead_source' => 'required | not_in:' . $select, 
       'industry'  => 'required | not_in:' . $select, 
       'action'  => 'required | not_in:' . $select 
      ]; 

      $data = [ 
       'number.required' => 'number is required.', 
       'number.unique' => 'number has already been taken', 
       .... 
      ]; 

      $validate = Validator::make($request->all(),$rules,$data); 

      if($validate->fails()) 
      { 
       return redirect()->back()->withErrors($validate->errors())->withInput(); 
      } 
+0

しかし、私は列から値を返す方法..私はそれのためのクエリを書く必要がありますか?私はそれが効率的であるか、より良い方法があるという意味ですか? – Frank

+0

はい、私はあなたがクエリを書く必要があり、結果は$ data []に特定のメッセージで渡されると思います。 –

+0

@フランクあなたは100kのユーザーがいなければ、すべてが効率的です。そして、あなたは何が起こっているのかを知っているあなたのアプリをコーディングするチームを持つでしょう。そして、はい、追加クエリ(選択)を行う必要があります。 – Kyslik