情景:
文章中有標(biāo)簽字段(label)娄涩,存的是標(biāo)簽ID字符串。
現(xiàn)在想在文章列表進(jìn)行篩選姨丈,根據(jù)標(biāo)簽篩選出對應(yīng)標(biāo)簽的文章
但是不能用like屿衅。SO埃难,F(xiàn)IND_IN_SET函數(shù)就大顯身手了
FIND_IN_SET
FIND_IN_SET(str,strlist)
str
要查詢的字符串
strlist
字段名 參數(shù)以”,”分隔 如 (1,2,6,8,10,22)
查詢字段(strlist)中包含(str)的結(jié)果,返回結(jié)果為null或記錄
代碼實(shí)現(xiàn)
倘若想搜索標(biāo)簽ID為2的文章:
SELECT id,label FROM dk_info where FIND_IN_SET ('2',label)
倘若想搜索標(biāo)簽ID為3的文章:
SELECT id,label FROM dk_info where FIND_IN_SET ('3',label)
tp5中使用
use think\Db;//tp5和tp6的差別
$condition[] = ['','exp',Db::raw("FIND_IN_SET('2',label)")];
$condition[] = ['','exp',Db::raw("FIND_IN_SET('3',label)")];
thinkphp6中使用
use think\facade\Db;//tp5和tp6的差別
if($cid){
$where[] = ['','exp',Db::raw("FIND_IN_SET($cid,cid)")];
}