Automattic\WooCommerce\Internal\Admin\Reports
HposLegacyOrderReportQueryBuilder::build_where_clause
Build the top-level WHERE clause.
Метод класса: HposLegacyOrderReportQueryBuilder{}
Хуков нет.
Возвращает
string. WHERE clause.
Использование
// private - только в коде основоного (родительского) класса $result = $this->build_where_clause( $order_types, $order_status, $parent_order_status, $filter_range, $start_date, $end_date );
- $order_types(массив) (обязательный)
- Order types to restrict to.
- $order_status(массив|false) (обязательный)
- Order statuses without the
wc-prefix. - $parent_order_status(массив|false) (обязательный)
- Parent order statuses without the
wc-prefix. - $filter_range(true|false) (обязательный)
- Whether to bound the query by date.
- $start_date(int) (обязательный)
- Start date as a Unix timestamp.
- $end_date(int) (обязательный)
- End date as a Unix timestamp.
Код HposLegacyOrderReportQueryBuilder::build_where_clause() HposLegacyOrderReportQueryBuilder::build where clause WC 11.2.2
private function build_where_clause( $order_types, $order_status, $parent_order_status, $filter_range, $start_date, $end_date ) {
$clause = "
WHERE orders.type IN ( '" . implode( "','", $order_types ) . "' )
";
if ( ! empty( $order_status ) ) {
$clause .= "
AND orders.status IN ( 'wc-" . implode( "','wc-", $order_status ) . "')
";
}
if ( ! empty( $parent_order_status ) ) {
$clause .= $this->build_parent_order_status_where_clause( $parent_order_status, $order_status );
}
if ( $filter_range ) {
$clause .= $this->build_filter_range_where_clause( $start_date, $end_date );
}
return $clause;
}