タイトル: 存在チェック
SEOタイトル: Laravelのexistsバリデーション
Laravelで「指定された値が既にテーブルに存在するか」を確認したいときは、exists ルールを使います。
外部キー相当の値や、参照先として存在していることを保証したい入力で使います。
基本形
'name' => 'exists:test_table,colA'
実装例
public function test(Request $request)
{
$this->validate($request, [
'name' => 'exists:test_table,colA',
]);
}
使う場面
- 選択されたIDが実在するか確認したいとき
- 他テーブルの値を参照する入力を受け取るとき
- 不正な値をそのまま処理したくないとき
注意点
- テーブル名とカラム名のスペルを確認する
- 文字列なのか数値IDなのか、入力値の型も合わせて見る
- 存在していればOKで、重複禁止ではない点に注意する