0
votes

Comparez deux colonnes avec «comme» de l'opérateur de SQL / Laravel

J'essaie de comparer deux colonnes d'une table. Dans lequel je dois vérifier que l'e-mail contient son numéro de téléphone portable ou non.

Tabel1::whereColumn('email', 'LIKE','%MOB%')->get();


2 commentaires

Quel est le code d'erreur?


Erreur de syntaxe ou violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la syntaxe droite à utiliser près de '%' à la ligne 1


3 Réponses :


2
votes

Commençons par vous répondre à la question SQL-Wise, tout ce qui est dans des guillemets est un littéral à SQL, vous devez donc utiliser la référence de colonne et ajouter les symboles Wildcard. Vous pouvez faire cela comme ceci:

Table1::where('email', 'LIKE', DB::raw("CONCAT('%', MOB, '%')"));


0 commentaires

0
votes

Vous devez essayer ce xxx


1 commentaires

Veuillez envisager d'ajouter un peu plus de détails pour pourquoi vous pensez que votre réponse peut aider à OP



0
votes
SELECT * FROM `table` WHERE `email` LIKE '%MOB%';

1 commentaires

Dans '% MOB%', la foule sera considérée comme une chaîne non pas la colonne.