Laravelには、2つの列が一緒になってテーブル内で一意であるかどうかを確認する検証方法がありますか?2つの列を結合するためのLaravelの検証規則
たとえば、テーブルに[(A、B)]がある場合、入力(A、A)または(B、B)は検証に合格するはずですが、(A、B)はもう一度失敗する必要があります。このような例
:
DB::table('mytable')
->where([
['col1', $item->col1],
['col2', $item->col2]
])
->exists();
しかし、私は検証の中でそれをやりたいので、これをまねた何か:
public function validate() {
return Validator::make($this->attributes, [
'col1|col2' => 'unique:mytable',
//....
])->errors();
}
これは、OPが求めていることではありません。質問には明示的に「_そこには、2つの列が一緒になってテーブル内で一意であるかどうかをチェックするLaravelで検証を構築する方法がありますか?」と記載されています。彼は複合インデックスについて話しています。現時点では不可能なのはカスタム検証ルールだけです。 – Frondor
@Frondor誰かが何を求めているのかを直接見分けるのは難しいこともあります。この特定の答えは、OPによって提供された例に最も適しているようです。これがOPが望んでいないものなら、彼らは私を忘却に落とすことが自由です。 – Ohgodwhy