最新解決方案:
對於一些實在復雜的查詢,比如find_in_set,也可以直接使用原生SQL語句進行查詢,例如:
Db::table('think_user') ->where('find_in_set(1,sids)') ->select();
為了安全起見,我們可以對字符串查詢條件使用參數綁定,例如:
Db::table('think_user') ->where('find_in_set(:id,sids)',['id'=>$id]) ->select();
其他解決方案:
在thinkphp5中使用mysql find_in_set語法時,可以使用EXP(表達式查詢)來實現,具體代碼如下:
$data = Db::table('students')->where('exp','FIND_IN_SET(1,sids)')->select();
如果用數組條件查詢形式的話,那么像下面這么寫查詢條件即可:
$where[]=['exp','FIND_IN_SET(2,sids)'];