thinkphp3.2.3 多条件查询语句拼接(And、Or)

SELECT
    sb_currency_user.*, (
        sb_currency_user.num +sb_currency_user.forzen_num
    ) AS count,
    sb_currency.currency_logo,
    sb_currency.trade_currency_id,
FROM
    `sb_currency_user`
LEFT JOIN sb_currency ON sb_currency.currency_id = sb_currency_user.currency_id
WHERE
    (`num` > 0 OR `forzen_num` > 0)
AND `member_id` = 520

ORDER BY   `sort`

上面标红的where查询语句在TP3.2.3中的拼接如下:

 $where_bear['_logic'] = 'or';

$where_bear['num'] =array('GT',0);

$where_bear['forzen_num'] =array('GT',0);

$where_final['_complex'] = $where_bear; //这里是关键

$where_final['member_id']=$uid;

最后

直接查询就可以了

M('表名')->where($where_final)->select();

到这里, 问题来了,怎么检测我们写的sql语句没有错呢?执行下面这条语句就可以了,翻译当前sql语句。

扫描二维码关注公众号,回复: 5824735 查看本文章

print_r(M('表名')->getLastSql());

猜你喜欢

转载自blog.csdn.net/qq_34861341/article/details/88193792