I am new in laravel. My query is i need to find out value from comma separated field.
Here is my table:
tags_value
╔════╦══════════════╗ ║ id ║ tags ║ ╠════╬══════════════╣ ║ 1 ║ css,html,php ║ ║ 2 ║ php,java,css ║ ║ 3 ║ java,c++,ios ║ ╚════╩══════════════╝
This is my SQL query:
$query = DB::table('tags_value') ->whereRaw(FIND_IN_SET('css', Tags)) ->get();
but it’s not working.
Please help me to solve this problem. Thanks in advance.
Advertisement
Answer
You need to escape the call to FIND_IN_SET()
using quotes:
$query = DB::table('tags_value') ->whereRaw('FIND_IN_SET(css,Tags)') ->get();
If you want to parameterize the column for which you search in FIND_IN_SET
, then you can try something like this:
$colname = 'css' $query = DB::table('tags_value') ->whereRaw('FIND_IN_SET(?,Tags)', [$colname]) ->get();