Laravelのバリデーションでexistsを設定する

バリデーションexistsの基本的な使い方

exists:table,column
table(テーブル名)にcolumn(カラム)が存在しているかを確かめるためのバリデーションです。

バリデーションexistsの例

exists:users,id
userテーブルのidに存在する値のみ許容します。

バリデーションexistsの使いみち

例えばユーザー一覧のマスタがあって、Postの投稿者をuser_idとすることにします。

その場合、下のような選択肢を用意すると思いますが、この値がちゃんとusersテーブルに存在するかどうかを確かめます。

<select name="user_id">
    @foreach($users as $user)
        <option value="{{ $user->id }}" @if(old('office_id') == (string) $user->id) selected  @endif>
            {{ $user->name }}
        </option>
    @endforeach
</select>

参考URL

Validation - Laravel - The PHP Framework For Web Artisans