Maison > cadre php > Laravel > le corps du texte

Comment vérifier si Laravel est unique

PHPz
Libérer: 2023-04-23 10:01:30
original
1169 Les gens l'ont consulté

Dans le framework Laravel, vérifier le caractère unique des données d'entrée est une exigence courante. Par exemple, vérifiez l'e-mail ou le numéro de téléphone portable de l'utilisateur pour vous assurer qu'il ne sera pas enregistré à plusieurs reprises.

Laravel fournit une règle de vérification très pratique - unique. Lors de la soumission du formulaire, il vous suffit d'ajouter unique:table,column aux règles, par exemple :

'username' => 'required|unique:users,username|max:255',
'email' => 'required|unique:users,email|max:255|email',
Copier après la connexion

Dans le code ci-dessus, la règle unique précise la table de vérification d'unicité des utilisateurs et le champ nom d'utilisateur ou email, ce qui garantira que aucun autre utilisateur ne l'utilise. Même nom d'utilisateur ou même adresse e-mail.

Cependant, dans les applications pratiques, les règles uniques ne répondent pas pleinement à nos besoins. Par exemple, lorsque nous mettons à jour une donnée, la règle de vérification d'unicité d'origine peut signaler une erreur car la valeur que nous mettons à jour existe déjà dans la base de données.

Pour résoudre ce problème, Laravel fournit un paramètre supplémentaire : exclure. Par exemple :

'username' => 'required|unique:users,username,' . $userId . ',id|max:255',
Copier après la connexion

Dans le code ci-dessus, $userId représente l'ID utilisateur actuel à mettre à jour. Nous disons à Laravel d'exclure l'utilisateur actuel lors de la vérification de l'unicité en utilisant le paramètre d'exclusion dans la règle unique.

En plus du paramètre d'exclusion, Laravel fournit également le paramètre other_columns pour spécifier les conditions des autres colonnes. Par exemple :

'username' => Rule::unique('users')
    ->where(function ($query) use ($other_column_value) {
        return $query->where('other_column', $other_column_value);
    })
    ->ignore($userId),
Copier après la connexion

Dans le code ci-dessus, nous utilisons la classe Rule et la méthode Where pour définir des conditions pour d'autres colonnes, garantissant que la vérification de l'unicité ne sera limitée que par les conditions spécifiées. La méthode ignore est également utilisée pour exclure l’utilisateur actuel.

Pour résumer, vous devez faire attention aux problèmes suivants lors de la vérification de l'unicité dans Laravel :

  1. Utilisez le paramètre d'exclusion dans la règle unique pour exclure l'influence des données actuelles.
  2. Vous pouvez utiliser la classe Rule et la méthode Where pour définir des conditions pour d'autres colonnes afin de garantir que la vérification de l'unicité n'est pas affectée par les autres colonnes.

En utilisant les techniques ci-dessus, nous pouvons vérifier le caractère unique des données de manière plus flexible et garantir l'intégrité et l'exactitude des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!