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();
3 Réponses :
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, '%')"));
Vous devez essayer ce
Veuillez envisager d'ajouter un peu plus de détails pour pourquoi vous pensez que votre réponse peut aider à OP
SELECT * FROM `table` WHERE `email` LIKE '%MOB%';
Dans '% MOB%', la foule sera considérée comme une chaîne non pas la colonne.
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