Я новичок в laravel. Мой запрос: мне нужно узнать значение из поля, разделенного запятыми.
Вот мой стол:
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)")