Laravel vérifier pour unique règle, sans lui-même dans la mise à jour
Je vais avoir mes règles de validation pour unique dans la section mise à jour.
Dans de l'insertion ou de l'ajout de la règle unique est 'Email' => array('unique:driver_details'),
et il va vérifier pour l'unique coloumn.
Mais cela échoue pour la mise à jour de la section. Pendant la mise à jour elle respecte les autres règles et dans le cadre unique de l'électronique de contrôle, il est lui-même l'unique coloumn et il échoue, mais, en voyant son propre champ.
Alors, comment puis-je vérifier l'unique exception de sa propre valeur dans la base de données ?
double possible de Laravel 4 email de validation de la contrainte unique
J'ai reçu votre question, mais dans votre réponse, vous n'avez pas dit sur comment obtenir le $id, il sera ok si ils font valider leur propre profil, ils peuvent obtenir leur carte d'identité par
Comment êtes-vous d'obtenir l'id de l'enregistrement que vous essayez de mettre à jour?
je suis l'envoi de toutes les valeurs pour le modèle,
J'ai posté une nouvelle question, qui serait clair, vous pouvez regarder ici ,, stackoverflow.com/questions/28205762/...
J'ai reçu votre question, mais dans votre réponse, vous n'avez pas dit sur comment obtenir le $id, il sera ok si ils font valider leur propre profil, ils peuvent obtenir leur carte d'identité par
Auth::user()->id
et dans le cas de l'admin de faire partie de ceux d'autres parties, dois-je mettre de la session et pénétrer à l'intérieur du modèle ,,, ???Comment êtes-vous d'obtenir l'id de l'enregistrement que vous essayez de mettre à jour?
je suis l'envoi de toutes les valeurs pour le modèle,
$validation = Validator::make($DriverData, DriverModel::$updaterules);
J'ai posté une nouvelle question, qui serait clair, vous pouvez regarder ici ,, stackoverflow.com/questions/28205762/...
OriginalL'auteur | 2015-01-28
Vous devez vous connecter pour publier un commentaire.
Cela force à ignorer certains id:
remplacer les segments
table
,email_column_to_check
,id_to_ignore
dans l'exemple ci-dessusVous pourrez le consulter ici http://laravel.com/docs/4.2/validation#rule-unique
id_to_ignore
à l'intérieur du modèle, je ne peux pas obtenir leAuth::user()->id
parce que c'est l'admin de la partie et de faire de la validation pour les autres utilisateurs..OriginalL'auteur user3714582
Pour ceux qui utilisent Laravel 5 et le Formulaire de Demande, vous pouvez obtenir l'id du modèle de la Route-la Liaison de Modèle directement en tant que propriété du Formulaire de Demande de
$this->name_of_the_model->id
et de l'utiliser ensuite pour l'ignorer à partir de l'unique règle.Par exemple, si vous voulez avoir unique e-mails, mais aussi permettre à un administrateur de modifier des utilisateurs, vous pouvez faire:
Route:
Contrôleur:
Formulaire De Demande:
Veuillez noter que nous sommes en ignorant l'utilisateur est en cours de modification, qui dans ce cas pourrait être différent de l'utilisateur authentifié.
OriginalL'auteur Arian Acosta
Règle d'inclusion par écrit
et d'écrire votre code de validation comme suit:
Ici $id est l'id de l'e-mail que vous voulez ignorer lors de la validation qui est obtenu à partir du contrôleur.
OriginalL'auteur Neeraj Shrestha
Je suis à l'aide de Laravel 5.2
si votre clé primaire est nommé 'id'
nom de la table est users_table et je veux mettre à jour user_name
donc, je le fais de cette façon
si votre clé primaire n'est pas nommé 'id'
Dans mon cas, ma clé primaire est user_id et le nom de la table est users_table et je veux mettre à jour user_name
donc, je le fais de cette façon
OriginalL'auteur Nirav Bhoi
OriginalL'auteur Ronish
Ce qui m'a pris un certain temps à comprendre mais quand vous avez affaire avec mise à jour/créer des demandes vous avez également accès à l'objet de la requête. Ici, je suis obliger les noms de clients sont uniques, mais permettant édité client.
OriginalL'auteur Juha Vehnia