以下驗證在建立新記錄時有效,但在更新記錄時,partner_code
和 seedgens_code
會陷入 unique
驗證中。如果未更改,如何允許使用相同的值更新記錄,但在值發生更改時仍驗證唯一性?
$this->validate( [ 'partner_code' => 'required|unique:varieties', 'seedgens_code' => 'required|unique:varieties', ], [ 'partner_code.required' => 'Please add a partner code.', 'partner_code.unique' => 'Partner code must be unique.', 'seedgens_code.required' => 'Please add a unique partner code.', 'seedgens_code.unique' => 'SeedGens code must be unique.', ], );
P粉8212313192023-11-10 14:03:24
(1) protected $rules=[ 'partner_code' => ['required', Rule::unique('varieties')->ignore($id)] .... ] (2) protected function rules(){ 'partner_code' => ['required', Rule::unique('varieties')->ignore($id)] ... }
我將規則加入到 (1) 中不起作用 我將規則添加到(2)中正在工作! ! !
P粉7386761862023-11-10 12:56:55
'partner_code' => 'required|unique:varieties,' . $id
或
'partner_code' => ['required', Rule::unique('varieties')->ignore($id)]
其中 $id
是您要忽略的 ID。
https://laravel.com/docs/9.x/validation #規則唯一
#