两句mysql的where合并了
$order = new PaymentFreezeOrderModel();
$unfreezeInfo = $order->where('cashier_id', '=', $this->cashierId)->where('order_type', '=', 'unfreeze')->where('shop_action_no', '=', $this->shopActionNo)->find();
if ($unfreezeInfo) {
// 解冻订单已存在直接返回
return $this->query($unfreezeInfo['out_request_no']);
} else {
// 解冻订单不存在创建,解冻订单
$freezeInfo = $order->where('out_request_no', '=', $this->requestNo)->fetchSql()->find();
debug_log('解冻订单', $this->requestNo, $freezeInfo, 'alipay');
if (!$freezeInfo) {
throw new BusinessException($this->requestNo . '原冻结订单不存在');
}
}
在第九行, 返回的sql是 和 第二行的sql条件合并了
SELECT * FROM `pay_freeze_order` WHERE `cashier_id` = '1963' AND `order_type` = 'unfreeze' AND `shop_action_no` = 'R01T123456789' AND `out_request_no` = '2025040314380719630001972009' LIMIT 1"
用的都是最新的webman 5.1,SWOW驱动
你这$order不是同一个对象么?所以where合并了
PaymentFreezeOrderModel ::query()
你可以看下where的返回参数