一、在mysql更新语句中使用乘法:
->update([
'status' => Db::raw('`status`*(-1)'),
//status值为1和-1,代表相反的状态,建议判断当前状态,避免两人同时操作时状态无改变
]);
二、判断字符是否在另一个字符串中出现:
$groups['rules']='1,3,5,7,9';
//有漏洞,比如权限值为2,权限组中有21会判断有2的权限:
->field('instr(\''.$groups['rules'].'\',number) as ischecked')
//应改成FIND_IN_SET();
->field('FIND_IN_SET(number,\''.$groups['rules'].'\') as ischecked')
参考链接:mysql中find_in_set()函数的使用--