天天看點

TP5 find_in_set用法

$where['class_id'] = ['in', '$cid_all'];
$where['id'] = ['in', $all_user_id];//或這樣子
$where['title'] = ['like', '%php%'];
$where['id'] = ['<>', $id];
$where['id'] = ['notin', $all_user_id];//不等于
 
 
//值為數字
$id=419;
$where[] = ['exp',Db::raw("FIND_IN_SET($id,category)")];//category值為數字,例子:419,415,414
//值為字元串
$id值等于dfd 要注意'引号
$where[] = ['exp',Db::raw("FIND_IN_SET('$id',category)")];//category值為數字,例子:'349/417/419','349/413/415','349/413/416'      
Db::name('menu')->where('FIND_IN_SET(:id,pid_all)',['id' => $id])->update([$field => $title]);      

type 字段在資料庫是以 1,2,3 形式存在 已說到FIND_IN_SET函數的使用

對于一些實在複雜的查詢,比如find_in_set,也可以直接使用原生SQL語句進行查詢,例如:

Db::table('think_user')
    ->where('find_in_set(1,sids)')
    ->select();::table('think_user')
    ->where('find_in_set(1,sids)')
    ->select();      

為了安全起見,我們可以對字元串查詢條件使用參數綁定,例如:

Db::table('think_user')
    ->where('find_in_set(:id,sids)',['id'=>$id])
    ->select();::table('think_user')
    ->where('find_in_set(:id,sids)',['id'=>$id])
    ->select();