select `id` from `questions` where FIND_IN_SET(8, categories);
但是我使用的是laravel,我想在那里写这个查询。我试过这个:
$q_category = 8; $object = DB::table("questions") ->select('id') ->where(DB::RAW("FIND_IN_SET($q_category, categories)"), '!=', null) ->get();
去获取那些 8 在他们的 categories 列(包含逗号分隔的类别ID)
8
categories
但是我得到的记录也没有类别id。
我发现您当前的代码有几个潜在的问题。首先,您应该绑定 $q_category FIND_IN_SET . 第二,检查呼叫是否成功 在\u集中查找\u 返回值大于零,而不是非零 NULL .
$q_category
FIND_IN_SET
在\u集中查找\u
NULL
$q_category = 8; $object = DB::table("questions") ->select('id') ->whereRaw("FIND_IN_SET(?, categories) > 0", [$q_category]) ->get();