私はララヴェルの新人です。私のクエリは、カンマ区切りのフィールドから値を見つける必要があります。
これが私のテーブルです:
tags_value
╔════╦══════════════╗
║ id ║ tags ║
╠════╬══════════════╣
║ 1 ║ css,html,php ║
║ 2 ║ php,Java,css ║
║ 3 ║ Java,c++,ios ║
╚════╩══════════════╝
これは私のSQLクエリです:
$query = DB::table('tags_value')
->whereRaw(FIND_IN_SET('css', Tags))
->get();
しかし、それは機能していません。
この問題の解決を手伝ってください。前もって感謝します。
引用符を使用してFIND_IN_SET()
の呼び出しをエスケープする必要があります。
$query = DB::table('tags_value')
->whereRaw('FIND_IN_SET(css,Tags)')
->get();
FIND_IN_SET
で検索する列をパラメーター化したい場合は、次のようなことを試すことができます。
$colname = 'css'
$query = DB::table('tags_value')
->whereRaw('FIND_IN_SET(?,Tags)', [$colname])
->get();
これを試して :
->whereRaw("FIND_IN_SET('css',tags)")