この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:guest
更新日時:2018-05-10 13:58:20

タイトル: 一意チェック

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

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

public function test() {

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

 

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

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

public function test() {

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