Je veux mettre à jour l'enregistrement mais avant la mise à jour, je veux vérifier: - 1. si l'utilisateur existe au moment où il n'est pas autorisé à mettre à jour.
Exemple: -
L'utilisateur jay essaie de mettre à jour son nom, mais l'utilisateur insère le même nom qui existe déjà dans le champ jay. au moment où je veux permettre à l'utilisateur de mettre à jour mais ce code donne une erreur indiquant que le nom d'utilisateur existe déjà. Que dois-je faire ??
Contrôleur: -
public function update_data($update_id){ $gender_list = ['Male', 'Female', 'Other']; $country_list = ['India', 'US', 'UK', 'Germany', 'Austraila']; $Validator = $this->validate(request(), [ 'username' => 'required|unique:userlists|alpha_num|max:30', 'email' => ['required', 'unique:userlists', 'email', 'regex:/((yahoo|gmail|hotmail)\.com)/'], 'password' => 'required', 'bod' => 'required|after_or_equal:today', 'comments' => 'required', 'phone_no' => 'required|numeric', 'country' => 'required|alpha', 'gender' => 'required', 'agreement' => 'required', ],[ 'required' => 'Please Enter Your :attribute', ]); if(!in_array($request->gender, $gender_list) || !in_array($request->country, $country_list)){ session()->flash('G_msg', 'Hello Hackes Please Go Back'); return back(); } if($Validator->passes()){ // updation code. } }
3 Réponses :
essayez l'unique
'username' => 'required|unique:table_name,username,' . $update_id . ',user_id',
Pouvez-vous s'il vous plaît expliquer ce que je dois faire en route ??
et quel est le rouleau de user_id? qu'est-ce que cela fait?
Je viens de donner un exemple .u peut utiliser votre nom d'identifiant principal de la base de données
Vous pouvez utiliser la validation comme ci-dessous:
'username' => ['required','alpha_num', 'max:30',Rule::unique('userlists')->ignore($update_id)]
Assurez-vous que la règle est définie au-dessus de la classe:
utilisez Illuminate \ Validation \ Rule;
Vous pouvez utiliser Rule
use Illuminate\Validation\Rule; 'username' => ['required','alpha_num', 'max:30',Rule::unique('userlists')->ignore($update_id)]