havingRaw

This commit is contained in:
邓皓元 2019-11-19 17:35:59 +08:00
parent 18515f9f5f
commit 970ff52bc6

View File

@ -185,20 +185,20 @@ trait OrderCardConcern
break; break;
case 2: case 2:
$havingRaw = sprintf("MAX(service_end_at) >= '%s'", date('Y-m-d H:i:s')); $havingRaw = sprintf("sim in (SELECT sim FROM virtual_order_cards_partition GROUP BY sim HAVING MAX(service_end_at) >= '%s')", date('Y-m-d H:i:s'));
$this->model = $this->model->whereNotNull('service_start_at') $this->model = $this->model->whereNotNull('service_start_at')
->groupBy('sim')->havingRaw($havingRaw) ->whereRaw($havingRaw)
->whereHas('card', function ($relation) { ->whereHas('card', function ($relation) {
$relation->whereNull('cancelled_at')->orWhere('cancelled_at', "<", date('Y-m-d H:i:s')); $relation->whereNull('cancelled_at')->orWhere('cancelled_at', "<", date('Y-m-d H:i:s'));
}); });
break; break;
case 3: case 3:
$havingRaw = sprintf("MAX(service_end_at) < '%s'", date('Y-m-d H:i:s')); $havingRaw = sprintf("sim in (SELECT sim FROM virtual_order_cards_partition GROUP BY sim HAVING MAX(service_end_at) < '%s')", date('Y-m-d H:i:s'));
$this->model = $this->model->whereNotNull('service_start_at') $this->model = $this->model->whereNotNull('service_start_at')
->groupBy('sim')->havingRaw($havingRaw) ->whereRaw($havingRaw)
->whereHas('card', function ($relation) { ->whereHas('card', function ($relation) {
$relation->whereNull('cancelled_at')->orWhere('cancelled_at', "<", date('Y-m-d H:i:s')); $relation->whereNull('cancelled_at')->orWhere('cancelled_at', "<", date('Y-m-d H:i:s'));
}); });