[thinkphp3.2]多查询语句拼接(And、Or)
2017-04-12 10:27
453 查看
SELECT * FROM `ecs_order_info` WHERE ( ( `order_status` = 5 AND `shipping_status` = 2 ) OR `order_status` = 6 ) AND `user_id` = 1
上面标红的where查询语句在TP中的拼接如下:
$order=M('order_info');
$where['order_status']=5;
$where['shipping_status']=2;
$map['_complex'] = $where;
$map['order_status']=6;
$map['_logic'] = 'or';
$final['_complex'] = $map;
$final['user_id']=1;
然后直接查询就可以了: $order->where($final)->select();
问题来了,怎么检测我们写的sql语句没有错呢?执行下面这条语句就可以了,只会翻译成sql语句,不会执行。
echo $order->where($final)->fetchSql(true)->select();
上面标红的where查询语句在TP中的拼接如下:
$order=M('order_info');
$where['order_status']=5;
$where['shipping_status']=2;
$map['_complex'] = $where;
$map['order_status']=6;
$map['_logic'] = 'or';
$final['_complex'] = $map;
$final['user_id']=1;
然后直接查询就可以了: $order->where($final)->select();
问题来了,怎么检测我们写的sql语句没有错呢?执行下面这条语句就可以了,只会翻译成sql语句,不会执行。
echo $order->where($final)->fetchSql(true)->select();
相关文章推荐
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- thinkphp框架中查询条件or和and搭配问题
- thinkphp3.2 or 查询 (同字段)
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- thinkphp复合查询AND和OR同时使用
- thinkphp3.2 join复杂链表查询语句(表重命名/别名)
- thinkphp多条件查询(AND, OR)
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- Thinkphp 查询条件 and 和 or同时使用即复合查询
- Thinkphp 查询条件 and 和 or同时使用即复合查询
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- Thinkphp 查询条件 and 和 or同时使用即复合查询
- oracle where语句中and,or,not的执行顺序
- 数据库insert and update--查询是否主键存在和插入语句用一条sql来实现。
- SQL 复合查询条件(AND,OR,NOT)对NULL值的处理
- Oracle 简单拼接查询语句