laravel unique の使用法は、「'email' => ['required', 'email',Rule::unique('customer')->...})]」です。つまり、 update メールボックスが重複しているかどうかを確認するときは、自分自身とステータス 4 のすべてのユーザーを除外します。
このチュートリアルの動作環境: Windows 7 システム、Laravel バージョン 5.5、DELL G3 コンピューター。
Laravel 独自のルールの使用法
Laravel 独自の使用法:
$customer_type = request('customer_type', 1); $attributes = request()->validate([ 'gender' => 'required|min:0|max:3', 'chinese_name' => 'nullable|min:2', 'english_name' => 'nullable|min:3', 'area_phone_number' => 'required|numeric', 'telephone' => 'required|numeric', 'email' => ['required', 'email', Rule::unique('customer')->ignore(request('id'))->where(function ($query) { $query->whereNotIn('status', [4]); })], // 'email' => 'required|email|unique:customer,email,' . request('id'), 'password' => 'nullable|string|min:6', 'concurrent_login_num' => 'required|min:1|integer', 'child_age' => 'nullable|integer|min:0', 'remark' => 'nullable|string|max:1024', 'status' => 'required|integer|min:0|max:4', ]);
この使用法に注意してください:
'email' => ['required', 'email', Rule::unique('customer')->ignore(request('id'))->where(function ($query) { $query->whereNotIn('status', [4]); })],
これは、更新時を意味しますメールボックスが重複しているかどうかを検出するための情報。自分自身とステータス 4 のすべてのユーザーを除外します。私の場合、ステータス 4 のユーザーは削除されます。このメールボックスが削除されたユーザーによって使用されている場合、重複はチェックされません。
参考资料:https://laravel.com/docs/5.5/validation 文件位置: D:\phpStudy\WWW\BCCKidAdmin\vendor\laravel\framework\src\Illuminate\Validation\Rules\DatabaseRule.php 关于各种的的验证: D:\phpStudy\WWW\BCCKidAdmin\vendor\laravel\framework\src\Illuminate\Validation\Concerns\ValidatesAttributes.php D:\phpStudy\WWW\BCCKidAdmin\vendor\laravel\framework\src\Illuminate\Validation\Concerns\ReplacesAttributes.php
関連する推奨事項: 最新の 5 つの Laravel ビデオ チュートリアル
以上がLaravelのユニークな使い方は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。