Laravel 5のデータベーステーブルの特定のレコードに対してのみ一意の検証を使用するにはどうすればよいですか?

ジェフ

私は特定の固有の質問を検証しようとしています。book_idつまり、特定のレコードのみが固有である必要があります

table: questions

$title = this is question 1

$book_id = 12

TRUE =にquestion投稿されていない場合$book_id = 16、ユーザーは同じを投稿できquestionます。

表示エラー=question投稿された場​​合$book_id = 12、ユーザーは投稿できません。

これは私がこれまでに試したことです

"required|unique:questions,question,book_id".$book_id,
"required|unique:questions,question,book_id,!".$book_id,
"required|unique:questions,question,NULL,id,book_id,".!$book_id,
スミット

以下のようなカスタム検証を行うことができます

    class CustomValidator extends \Illuminate\Validation\Validator {
      public function ValidatecheckQuestion($attribute, $value, $parameters) {

        $cnt = DB::table('questions')->where('title','=',$parameters[0])
                        ->where('book_id','=',12)
                        ->count();
        if($cnt==0)
            return false;
        else
            return true;                        
     }
  }

カスタム検証を正確に使用する方法については、https://laravel.com/docs/5.0/validation#custom-validation-rules参照してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ