web-dev-qa-db-fra.com

trouver dans l'ensemble dans laravel? exemple

Je suis nouveau à laravel. Ma requête est que je dois trouver la valeur du champ séparé par des virgules.

Voici ma table:

tags_value

╔════╦══════════════╗
║ id ║     tags     ║
╠════╬══════════════╣
║  1 ║ css,html,php ║
║  2 ║ php,Java,css ║
║  3 ║ Java,c++,ios ║
╚════╩══════════════╝

Voici ma requête SQL:

$query = DB::table('tags_value')
         ->whereRaw(FIND_IN_SET('css', Tags))
         ->get();

mais ça ne marche pas.

Veuillez m'aider à résoudre ce problème. Merci d'avance.

12
Ravi Kadia

Vous devez échapper à l'appel à FIND_IN_SET() à l'aide de guillemets:

$query = DB::table('tags_value')
         ->whereRaw('FIND_IN_SET(css,Tags)')
         ->get();

Si vous souhaitez paramétrer la colonne que vous recherchez dans FIND_IN_SET, alors vous pouvez essayer quelque chose comme ceci:

$colname = 'css'
$query = DB::table('tags_value')
         ->whereRaw('FIND_IN_SET(?,Tags)', [$colname])
         ->get();
13
Tim Biegeleisen

Essaye ça :

->whereRaw("FIND_IN_SET('css',tags)")
4
Mr. Engineer