5.

一意チェック

編集

本稿はLaravelのバリデーションのひとつである一意チェックに関する記事です。

以下の例はtest_tableテーブルのcolAカラムに、パラメータのnameが存在しなければOKという実装です。

public function test() {

    $this->validate($request, [
        'name' => 'unique:test_table,colA,
    ]);
    
    ...
    
}

 

データの更新時に、上記のバリデーションでは自分のIDが一意制約違反でひっかかります。

特定のIDを除外してチェックするには以下の様に実装します。

use Illuminate\Validation\Rule;

public function test() {

    $this->validate($request, [
        'user_id' => 'required|max:100',Rule::unique('users')->ignore($user->id),
    ]);
    
    ...
    
}

 

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. 入力データの保持
  2. 必須チェック
  3. 文字列の長さチェック
  4. 存在チェック
  5. 一意チェック
  6. 日本語化