在thinkphp中如果不想用in或者not in 来处理where条件,我们就需要使用同一个字段多个and处理。
SELECT
*
FROM
`tab_user`
WHERE
tab_user.account = 'abc'
AND (
(
`fgame_id` <> '423'
AND `fgame_id` <> '166'
AND `fgame_id` <> '448'
AND `fgame_id` <> '419'
AND `fgame_id` <> '572'
AND `fgame_id` <> '600'
AND `fgame_id` <> '605'
AND `fgame_id` <> '607'
AND `fgame_id` <> '606'
AND `fgame_id` <> '589'
AND `fgame_id` <> '599'
AND `fgame_id` <> '57'
)
OR `fgame_id` IS NULL
)
ORDER BY
tab_user.id DESC
LIMIT 0,
10
这段我们应该如何使用thinkphp来完成处理?代码如下
$map['fgame_id'] = array(['<>',0],['<>',2],'and');
$s=$map['fgame_id'];
$map['fgame_id']=array($s,array('exp','is null'),or);