papakane
papakane 125 XP
a posé

Laravel : Vérification d'un donnée avant l'insertion

Bonsoir tout le monde, enfaite j'ai un petit soucis. Dans mon application, j'ai une table category Capture d’écran 2023-07-31 211459.png la table category est liée à la table user par une relation One To Many mon probleme est le suivant je veux ajouter une categorie que lorsque le nom n'existe pas dans les categories ajoutées par l'utilisateur authentifié proprietaire de la categorie. par exemple user1 peut ajouter comme categorie : food, drink mais pas deux fois et le user2 aussi peut ajouter food et drink du meme nom sans qu'il ait un message du type la categorie existe déjà. la methode firstOrcreate ne peut pas faire ça.

store.png

mckenziearts
a répondu
Meilleure réponse

Bonjour @papakane, je ne pense pas que tu puisses géré ca de cette facon, et c'est une mauvaise facon d'aborder le sujet aussi je crois. Mais si tu veux faire de cette facon il faut que tu fasses une verification du style

1if (Category::query()
2 ->where('name', $request->name)
3 ->where('user_id', auth()->id())
4 ->exists()
5) {
6 toastr()->addWarning('You already have a category with this name.');
7 return back();
8}
1if (Category::query()
2 ->where('name', $request->name)
3 ->where('user_id', auth()->id())
4 ->exists()
5) {
6 toastr()->addWarning('You already have a category with this name.');
7 return back();
8}

Tu es obligé de vérifier avec les 2 combinaisons pour être sur que la verification soit comme tu veux.

Confirmer la suppression

Êtes-vous sûr de vouloir supprimer cette réponse ? Cette action est irréversible.

papakane
papakane 125 XP
a répondu

Bonsoir @mckenziearts merci beaucoup le code fonctionne Vraiment merci DJEUREUDIEUF

Confirmer la suppression

Êtes-vous sûr de vouloir supprimer cette réponse ? Cette action est irréversible.

Il faut Se connecter ou Créer un compte pour participer à cette conversation.

Confirmer la suppression

Êtes-vous sûr de vouloir supprimer ce sujet ? Cette action est irréversible.