为了账号安全,请及时绑定邮箱和手机立即绑定

tp5 union 之后使用where 失败

tp5 union 之后使用where 失败

PHP
守着一只汪 2018-08-18 19:52:45
        ->alias('b')         ->field(['(b.order_amount + b.store_amount) as total','b.create_time','b.order_id','b.pay_types'])         ->where("b.order_status = 2")         ->union(['select pay_amount as total,create_time,recharge_id as order_id,pay_type as pay_types from tp_recharge'])         ->buildSql();如上 执行之后 sql 语句为SELECT (b.order_amount + b.store_amount) astotal,`b`.`create_time`,`b`.`order_id`,`b`.`pay_types` FROM `tp_order` `b` UNION ( select pay_amount as total,create_time,recharge_id as order_id,pay_type as pay_types from tp_recharge ) WHERE ( b.order_status = 2 )where 条件放到最后执行了,我想要的是 把where 条件查询第一个表的后面,请问大家如何解决这个问题的
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

这个问题,因为没有这种需求操作过,建议可以看下 tP5 的 where 方法源码。不过碰到这种情况我一般会选择用源生 sql 直接操作的。

查看完整回答
反对 回复 2018-08-19
  • 2 回答
  • 0 关注
  • 1229 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信