air_idという名前のテキストボックスを含む編集フォームを持つCakePHPアプリケーションを作成しています。私のテーブルでは、複合主キーとしてproject_idとair_idを使用しています。したがって、air_idを更新している間、私は唯一性を検証する必要があります。 私のテーブル構造は次のようである:私はcakephp3.0を使用していますが、私は、以下の をスコープとvalidateUniqueルールを使用していますcakephpのスコープで一意のフィールドを確認する
現在project_id air_id
1 [email protected]
1 [email protected]
私のコードです:
$validator
->add('air_id', [
'unique' => [
'rule' => ['validateUnique', ['scope' => 'project_id']],
'provider' => 'table',
]
]);
そして、私のコントローラは、この
ようなものです これで、毎回確認メッセージが表示されています。私が必要とするのは、[email protected]の値を[email protected]に変更するとエラーが発生し、それを他の値に変更してもエラーは発生しません。私の検証に何か間違っていますか?
特定のproject_idに 'air_id'フィールドをユニークにする必要がありますか? –
"** _ここで、値[email protected]を[email protected]_**に変更したときに検証メッセージを表示しています。"これは、テーブル内容に '1、test1 @ test.com'は既に存在します。あなたが直面している実際の技術的な問題を記述した適切な詳細で質問を更新してください。 – ndm
@ndmこれで、毎回検証メッセージを出しています。私が必要とするのは、[email protected]の値を[email protected]に変更するとエラーが発生し、それを他の値に変更してもエラーは発生しません。 –